为什么这个JavaScript有效?

时间:2017-05-04 02:29:56

标签: javascript ecmascript-6

今天我遇到了一个奇怪的语法问题并注意到一些奇怪的事情。这实际上编译为有效的JS:

confusing: { thisWorks: 'why?' }

它将“why”打印到控制台。

为什么会这样?

你也可以把它包装成这样的函数:

// calling myFunc() returns undefined
const myFunc = () => {
  confusing: { thisWorks: 'why?' }
};

必须是我以前从未遇到的JS的一角吗?看起来像语法不正确导致的奇怪行为但同时实际上并不会导致错误?

1 个答案:

答案 0 :(得分:1)

好。如果你能理解为什么这句话

thisWorks: 'why?'

输出'为什么?'。如果没有阅读 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label

接下来,如果你能理解为什么这个陈述

{ thisWorks: 'why?'; }

输出'为什么?'。应该没有理由不明白为什么这个陈述

confusing: { thisWorks: 'why?' }

会回复'为什么?'。这里confusingthisWorks都是标签。