-3

重複の可能性:
引用符付きのオブジェクト キーと引用符なしのオブジェクト キーの違いは何ですか?

JavaScript の使い方は大体知っていますが、まだわからないことがあります。

これら 2 つのオブジェクト リテラルの違いは何ですか。

var obj1 = {
   myProp: '123'
};

var obj2 = {
   'myProp': '123'
};

それらは単なる「同義語」ですか、それとも微妙な違いがありますか?

ありがとう!

4

2 に答える 2

3

オブジェクト初期化構文では、キーは数値リテラル、識別子、または文字列にすることができます。

var obj1 = {
    1e9: "123" //valid because it's a numeric literal
}

var obj2 = {
    $_ASd: "123" //Valid because it's a valid identifier I.E. you could make a variable called $_Asd
}

var obj3 = {
    $ hello world: "123" //invalid because it's not an identifier, I.E. you could not make a variable called $ hello world
}

var obj4 = {
    '$ hello world': "123" //valid because it's a valid string
}

その後、キーは構文に関係なく文字列に変換されるため1e9、キーの場合は文字列になります"1000000000"

于 2012-08-05T13:55:55.467 に答える
1

内部に演算子がない場合は何もありません。

var obj1 = {
   my+Prop: '123' // illegal
};

var obj2 = {
   'my+Prop': '123' // legal
};
于 2012-08-05T13:51:48.797 に答える