(小鳥のさえずり 8分42秒)
ナレーション: むかしむかし、あるところにおじいさんとおばあさんがいました。
(川のせせらぎ 2分23秒)
おじいさん(少し小声で): JavaScriptのコードを読んでいると、次のようなオブジェクトが定義されていました。プロパティ名の background-color
はなぜ引用符で囲っているの?
const obj = {
color: 'red',
'background-color': 'blue',
}
おばあさん: 答えはMDNに書かれています。オブジェクトリテラル の項目を見てみると、
オブジェクトのプロパティには空の文字列を含むあらゆる文字列が使えます。もしプロパティ名が JavaScript で有効な識別子か数値でなければ、引用符で囲む必要があります。1
と書かれていますね。
おじいさん: 本当ですね。識別子というのはなんですか?
おばあさん: それについてもMDNを見てみましょう。
JavaScript においては、識別子は大文字小文字の区別があり、Unicode の文字、 $、 _、 数字 (0-9) を含めることができますが、数字で始めることはできません。2
と書かれていますね。
おじいさん(囁くような声で): 本当ですね。
村人A: ...ということは、識別子であればプロパティ名として用いる際にそのまま使用できるけれども、-
は識別子ではないので、プロパティ名として用いる際は文字列として用いることになるのか。だから background-color
は引用符で囲む必要があるんですね?
おじいさん、おばあさん(声を揃えて): そうですね。
ナレーション: めでたし、めでたし。
(村の雑踏の音 1分46秒)
(おしまい)