JavaScript の使い方は大体知っていますが、まだわからないことがあります。
これら 2 つのオブジェクト リテラルの違いは何ですか。
var obj1 = {
myProp: '123'
};
var obj2 = {
'myProp': '123'
};
それらは単なる「同義語」ですか、それとも微妙な違いがありますか?
ありがとう!
JavaScript の使い方は大体知っていますが、まだわからないことがあります。
これら 2 つのオブジェクト リテラルの違いは何ですか。
var obj1 = {
myProp: '123'
};
var obj2 = {
'myProp': '123'
};
それらは単なる「同義語」ですか、それとも微妙な違いがありますか?
ありがとう!
オブジェクト初期化構文では、キーは数値リテラル、識別子、または文字列にすることができます。
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"
。
内部に演算子がない場合は何もありません。
var obj1 = {
my+Prop: '123' // illegal
};
var obj2 = {
'my+Prop': '123' // legal
};