JavaScriptのオブジェクトには引用符が必要ですか?

1708 ワード

オブジェクトの属性名は空の文字列を含むすべての文字列です.
ところで、私たちが普段定義している対象は以下のとおりです.引用符「or」がないので、引用符を付けないのは間違いないですか?
答えは、プラスかどうかです.でも追加したら大丈夫です.
一般的には
一般的には引用符をつけないのと同じです.
var object= {
    name: 'Leonardo',
    'age': 21,
};
document.write('name: ' + object['name'] + '
'); document.write('age: ' + object.age + '
');
実行結果は:
name: Leonardo
age: 21
つまり、文字列であれば、属性名は合法的です.
また、対象の属性名を呼び出した時に、私達は知っています.二つの書き方があります.
  • 第一種類のobject.nameですか?それともstoogeですか?
  • 第二種類のobject[name]ですか?それともstooge[name]ですか?
  • 実験の結果、
    最初のobject.nameはこのように書くことができます.つまり、このような表記もデフォルトのサポートです.引用符なしで属性名を含めます.(識別子原則に適合していなければならない)
    第二種類のobject[name]はこのように書くべきで、このような書き方は配列に似ていて、必ず[]に引用符に対応する文字列を加えて、キーを識別することができます.(万能書き方)
    特別な事情
    var obj = {
        123name: 'Leonardo',
    }
    document.write('name: ' + object.123name + '
    ');
    この場合は、引用符がないと、keyは識別子原則に従っているからです.
    (1)識別子は、アルファベット、数字、およびアンダースコアからなる(2)識別子の最初のビットは、アルファベットまたはアンダースコアでなければならず、数字ではない.
    引用符を入れるとこれが可能ですので、引用符の「key」にはスペースが含まれています.しかし、同時に値を取るには'''という方法が必要です.
    var obj = {
        '123name': 'Leonardo',
    }
    document.write('name: ' + object['123name'] + '
    ');
    拡張
    さらにこのようにすることもできます.
    var obj = {
        '123name': 'Leonardo',
        '': ' ',
        ' ': '    ',
    }
    document.write('name: ' + obj['123name'] + '
    '); document.write(obj[''] + '
    '); document.write(obj[' '] + '
    ');
    そして、このブログを見てから、あなたはプラスですか?それとも入れませんか?