0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プロパティ名を引用符(クォーテーション)で囲むことについての話

Posted at

(小鳥のさえずり 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秒)

(おしまい)

  1. オブジェクトリテラル | 文法とデータ型 - JavaScript | MDN

  2. Identifier (識別子) - MDN Web Docs 用語集: ウェブ関連用語の定義 | MDN

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?