JavaScript メモ
オブジェクトのメンバ名一覧表示するコード
const obj = {
hu: 0,
ji: 1,
ko: 2,
lp: 3
}
// 少し前の記憶だと、オブジェクトのメンバ一覧は、こう書いていた、、、
for ( const k of Object.keys( obj ) )
console.log( k )
// いつのまにか、以下のように in で短く書けるようになっていた、、、
for ( const k in obj )
console.log( k )
すなわち、Object.keys( obj )
の出番は無くなった、ということ。
いつのまに。
ってか、なんでわざわざObject.keys( obj )
を使っていたんだろう?? for-in って、サポートされたのいつだっけ?
知らなかった。また、ひとつ賢くなった。
そういえば、forEach()
も使わなくなったよね。
追記:
「いや、for-in のほうが古いよ」 というコメントをいただき、調べてみたら、たしかにそうでした。なんで、知らなかったの?>俺
以上。「ちゃんと勉強しろよな>俺」なエントリでした。
ちなみに、「for
の const
を省略しても動くじゃん。めんどいし、見にくいから、すっきり書こうよ」って思っているひとへ。
省略すると var
扱いになるので k
のスコープが広くなり、危険度が上昇します(少しだけどね)。
for ( k in obj )
console.log( k )
console.log( k ) // const ありならエラーになるが、省略すると、、、、見えちゃう
趣味で書き捨てる短いコードなら、まぁいいけど、、癖がついて仕事で使っちゃうとヤバイので、プロなひとは省略不可!ってことで。
省略したら、const
扱いにしてほしかったなぁ、、、(ぼそり