的區別是什麼,如果有的話,這兩個任務之間:JavaScript對象 - [] VS點
var foo = {};
foo['bar'] = "some value";
foo.baz = "some other value";
console.log(foo.bar)
=> "some value"
console.log(foo.baz)
=> "some other value"
是他們的代名詞?我注意到你可以使用不是有效屬性名稱的[]語法添加鍵。
foo['a space'] = "does not work";
console.log(foo.a space);
=> SyntaxError: Unexpected identifier
我的理由是我已經爲僞命名空間編寫了一個小JS庫。它是在假設上述賦值相同(忽略使用[]語法時允許的超集)的情況下編寫的。
第一個例子中,沒有技術差異。正如你所說的,'[]'語法允許什麼是無效的標識符。 –
...注意,所有的JavaScript屬性都是字符串,所以無論表達式給了什麼'[]',它最終都會得到'toString()'處理。 –