【发布时间】:2018-06-03 14:44:34
【问题描述】:
我的一个同事编写了 ES6 代码行...
return map(orderedContentUuids, contentUuid => { uuid: contentUuid });
你可能猜到他打算返回对象{uuid: contentUuid },但由于它是一个箭头函数,大括号{实际上开始了一个新块。 (正确的代码是return map(orderedContentUuids, contentUuid => ({ uuid: contentUuid }));)。
但是,出乎意料的是,这段代码编译并运行时没有出现错误。没有错误,因为 uuid: contentUuid 似乎评估为 contentUuid。
然后您可以看到,如果您将 foo: 'bar' 输入 JavaScript 控制台,它的计算结果为 "bar"。
嗯?这是怎么回事。从什么时候开始有效的 JS?
【问题讨论】:
标签: javascript syntax ecmascript-6 ecmascript-5