at backyard

Color my life with the chaos of trouble.

localStorage.key関数では引数に文字列やfalseやundefinedやnullを渡すとlocalStorage.key(0)と同じ結果が返ってくる

たまたま気づいたのでメモしておく。

なお、環境はChrome94.0.4606.81 (Official Build) (arm64)で、他のブラウザでは試していないので、もしかしたらブラウザが異なれば挙動は異なるかもしれない。

気づいたのでメモした、ぐらいの軽い備忘録なのでその点ご了承ください。

window.localStorage.setItem('test', 'aaa')

window.localStorage.key(0)
// => 'test'

window.localStorage.key('a')
// => 'test'

window.localStorage.key(false)
// => 'test'

window.localStorage.key(undefined)
// => 'test'

window.localStorage.key(null)
// => 'test'

となる。

単純に発見だったので備忘録としてここに書き記しておく

ちなみに key に何も引数を渡さないとエラーになる。

window.localStorage.key()
// => Uncaught TypeError: Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.

ちなみにkeyに関するMDNのドキュメントはこちら。

developer.mozilla.org