Yevhen Klymentiev
dark
light
console
darkness
y.klymentiev@gmail.com
Reusable Snippets|Practical utility code for everyday use — custom-built and ready to share

removeFromSessionStorage

Removes an item from sessionStorage by key.

TypeScript
Copied!
1/**
2 * Removes an item from sessionStorage by key.
3 *
4 * @param key - The key of the item to remove.
5 */
6export function removeFromSessionStorage(key: string): void {
7  try {
8    sessionStorage.removeItem(key);
9  } catch (e) {
10    console.error('Failed to remove from sessionStorage:', e);
11  }
12}
  • Simple and Direct API

    Provides a clean abstraction for removing a specific sessionStorage entry by key.

  • Error Handling Included

    Wraps the operation in a try-catch block, ensuring runtime errors don't propagate unexpectedly.

  • Safe for Dynamic Keys

    Handles dynamically generated or user-driven keys without requiring manual error guards.

Tests | Examples

TypeScript
Copied!
1beforeEach(() => {
2  sessionStorage.clear();
3  jest.clearAllMocks();
4});
5
6test('removeFromSessionStorage - removes existing key', () => {
7  sessionStorage.setItem('token', '123');
8  removeFromSessionStorage('token');
9  expect(sessionStorage.getItem('token')).toBeNull();
10});
11
12test('removeFromSessionStorage - handles non-existing key', () => {
13  expect(() => removeFromSessionStorage('nonexistent')).not.toThrow();
14});
15
16test('removeFromSessionStorage - logs error on failure', () => {
17  const spy = jest.spyOn(console, 'error').mockImplementation(() => {});
18  const originalRemoveItem = sessionStorage.removeItem;
19  // Simulate error
20  Object.defineProperty(sessionStorage, 'removeItem', {
21    value: () => { throw new Error('Failure'); }
22  });
23
24  removeFromSessionStorage('key');
25  expect(console.error).toHaveBeenCalled();
26
27  // Restore original
28  Object.defineProperty(sessionStorage, 'removeItem', {
29    value: originalRemoveItem
30  });
31});

Common Use Cases

  • Clearing Sensitive Session Data

    Remove tokens, flags, or transient values when a user logs out or changes context.

  • Resetting UI State

    Clear specific stored filters, steps, or toggles when navigating away or resetting a component.

  • Data Cleanup on Error

    Remove invalid or stale entries from sessionStorage after a failed fetch or validation issue.

  • Undo Temporary Actions

    Revert stored session values when a user cancels or backs out of a flow.

Codebase: Utilities -> Storage -> removeFromSessionStorage | Yevhen Klymentiev