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

removeFromLocalStorage

Removes an item from localStorage by key.

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

    Wraps localStorage.removeItem in a try-catch block to prevent crashes in restricted or failing environments.

  • Minimal API Surface

    Offers a clear, single-purpose utility that simplifies and standardizes storage removal across the codebase.

  • Improved Debugging Support

    Logs descriptive errors when removal fails, which can be helpful in identifying issues with browser storage policies.

Tests | Examples

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

Common Use Cases

  • Clearing User Sessions or Tokens

    Remove authentication data from localStorage during logout or session expiration.

  • Resetting Application State

    Clean up stored UI state or configuration before reinitializing components.

  • Managing Feature Flags or A/B Data

    Remove outdated flags or experiment values after they're no longer needed.

  • Data Cleanup on Version Mismatch

    Delete stale or incompatible cached values during application version updates.

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