gpt4 book ai didi

javascript - 这是 ASI 的问题还是只是返回语法的问题?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:54 25 4
gpt4 key购买 nike

People often talk关于 JavaScript 令人讨厌的 ASI(自动分号插入),并经常引用 this example ...

function a() {
return [
'a',
'b',
'c'
];
}

function b() {
return
[
'a',
'b',
'c'
];
}

console.log(a(), b());
// ["a", "b", "c"] undefined

b() 中的 return 之后是否真的插入了一个分号,或者 JavaScript 语法是否规定返回值必须在其后显式声明(即没有\n)?

最佳答案

我认为没有“插入”分号。只是那里存在解析歧义,解决方案是将“return”和后面的表达式视为两个单独的语句。我理解为什么从纯粹的语法 Angular 来看它是有意义的,但在“return”语句的特定情况下,这似乎是一个奇怪的决定,因为决定保证离开一个从未执行过的孤立表达式语句悬卡在它后面。

我想知道这个技巧产生了多少总 SO 代表点数?

edit 04 Apr 2014 — 从技术上讲,将语句拆分为两个语句的决定称为“分号插入”。没有人真正看到插入的分号;它是解析器想象力的虚构 :) 无论你怎么调用它,效果都是一样的。

关于javascript - 这是 ASI 的问题还是只是返回语法的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5232169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com