JS 对象导航——何时使用 object.sub 和 object[“sub”]?

发布于 2024-10-10 15:51:01 字数 167 浏览 2 评论 0原文

从语义的角度来看,JS 中有两种导航对象的方法,您可以使用点运算符或像嵌套数组一样处理它们。

什么时候适合使用一种运算符而不是另一种运算符?为什么我不应该一直使用带方括号的方法(它看起来更强大)?它们看起来都很容易阅读,但点运算符看起来有其局限性,因为它不能提供嵌套对象的变量名,也不能通过数组进行工作。

Looking at this from a point of semantics, there's two ways to navigate objects in JS, you can either use the dot operator or work through them like it's a nested array.

When is it appropriate to use one operator over the other? Why shouldn't I just use the method with square brackets all the time (it seems more powerful)? They both seems easy to read, but the dot operator looks like it's limited in that it cannot be provided with variable names of nested objects, or work through arrays.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

∞梦里开花 2024-10-17 15:51:01

使用 [] 的主要原因

  1. 您无法通过点表示法访问带有关键字名称的属性(至少在
  2. 您可以使用它来访问由字符串给出的

属性使用 . 的原因

  1. 始终使用 [] 会使语法突出显示、代码完成等几乎毫无用处
  2. 即使自动插入结束计数器部分 [' > 打字速度要慢得多(尤其是在非美国键盘布局上)

我的意思是,想象一下编写 Chat['users']['getList']()['sort']()['each']

经验法则:尽可能使用.,如果没有其他方法,则回退到[]

The main reasons for using []

  1. You can't access properties with the names of keywords via the dot notation (at least not in < ES5)
  2. You can use it to access properties given by a string

The reasons for using .

  1. Always using [] makes syntax highlighting, code completion etc. pretty much useless
  2. Even with automatic insertion of the closing counter parts [' is a hell lot slower to type (especially on non US Keyboard layouts)

I mean, just imagine writing Chat['users']['getList']()['sort']()['each'].

Rule of thumb: Use . where ever possible, and fall back to [] when there's no other way.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文