gpt4 book ai didi

javascript - Uncaught SyntaxError : Unexpected token '.' - how do I catch it?

转载 作者:行者123 更新时间:2023-12-03 08:17:56 24 4
gpt4 key购买 nike

我从以下代码中获得标题错误:

    try {
let n = undefined;
let nx = n?.x;
} catch (err) {
missingFeatures.push("Syntax n?.x not recognized");
}
如您所见,该代码的设计旨在获得对这种语法的支持。
但这是行不通的。有什么办法可以捕获此语法错误?
有趣的是,这种情况发生在Android 10上基于 Chrome 的新Edge中。

最佳答案

您可以改为构造一个new Function,然后查看该函数的构造是否抛出。无需先定义其他变量,因为您只关心语法是否正确,而语法检查则不在乎是否定义了变量,因为该函数永远不会运行:

try {
const fn = new Function('n?.x');
} catch (err) {
missingFeatures.push("Syntax n?.x not recognized");
}

也就是说,测试是否支持特定语法是很奇怪的。除非您为用户编写面向开发的内容(例如实时JavaScript编辑器),否则将代码简单地转换为ES5或ES6进行生产并将其提供给每个人几乎总是更有意义。

关于javascript - Uncaught SyntaxError : Unexpected token '.' - how do I catch it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63733354/

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