这两个任务之间有什么区别(如果有的话):
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 库。它是在上述赋值相同的假设下编写的(忽略使用 [] 语法时允许的超集)