コンパイラかく語りき

import { Fun } from 'programming'

【TypeScript】localStorage.setItem の値に number を指定したい

本記事の執筆時点での TypeScript のバージョンは 4.1.5。

localStorage.setItem の型定義を見てみると、

setItem(key: string, value: string): void;

となっている。

なので、以下のように number 型を渡すと型エラーとなる。

localStorage.setItem('ここにキー名', 100)
// 型 'number' の引数を型 'string' のパラメーターに割り当てることはできません。ts(2345)

以下のように書くことで、型エラーを回避できる(動作結果は setItem 利用時と同じ)。

localStorage['ここにキー名'] = 100