我在访问对象时看到了很多关于括号与点符号的线索......但是我通过freeCodeCamp并且当我使用{{1}等语法访问对象时它会建议我应该使用点符号吗?
除了更快......究竟有什么好处?我所见过的所有东西都减去"速度"似乎暗示括号表示更好?
我有什么遗失的东西吗?也许另一件事是" dot"运营商做得更好?
答案 0 :(得分:3)
.
点符号编写速度更快,阅读更清晰。 []
方括号表示法允许访问包含特殊字符的属性以及使用变量选择属性。
请详细了解:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Property_accessors
答案 1 :(得分:3)
以下两行在javascript中功能相同;
SomeonesName.online
SomeonesName["online"]
如果您要访问名称无效的密钥(例如包含.
或-
的密钥)或者您正在使用变量,则只需使用方括号。< / p>
否则,点符号可以更好地读写,大多数短信和程序员都喜欢它。
关于你的编辑 - 它们在功能上都是相同的。它们需要相同的时间来运行,使用正确的IDE,它们甚至可以花费相同的时间来编写。这完全是一个偏好问题。风格一致性没有任何好处。
答案 2 :(得分:3)
经验法则非常简单。每次使用点符号时,请使用它。当您必须操作无效的JavaScript标识符或需要传递变量键时,您只需要使用括号表示法。考虑这个例子:
var obj = {
foo: "Foo",
_bar: "Bar",
$baz: "Baz",
"foo-bar": "Foo Bar",
quux: "Quux"
};
console.log(obj.foo);
console.log(obj._bar);
console.log(obj.$baz);
console.log(obj['foo-bar']);
var quux = "quux";
console.log(obj[quux]);
&#13;
可以通过包装字符串从对象中检索值 在[]后缀中表达。如果字符串表达式是字符串 literal,如果它是一个合法的JavaScript名称而不是保留字, 那么。可以使用表示法。的。符号是首选 因为它更紧凑,读起来更好。
Douglas Crockford , JavaScript:好的部分
答案 3 :(得分:1)
。 &安培; []两个符号在功能上相同,执行速度没有差异。不同之处仅在于访问密钥具有一些在访问属性时在javascript中冲突的特殊字符。
答案 4 :(得分:0)
我会说使用哪一个你更舒服。只是保持一致。我使用了codeacademy,有时候你的代码是正确的,但freeCodeCamp我正在寻找一种特定的方式来进行下一课。希望这有帮助