我在测试浏览器兼容问题时,发现一个页面在chrome79上没有错误,但在chrome57上报错Uncaught SyntaxError: Unexpected token (。

我没有查找到相关文档,但通过测试得知chrome57中js代码在三目运算语句中<expression>?<statement1>:<statement2>中statement1使用括号括起来且statement2为数组赋值时(如a===0?(b=1):[c]=[2];),则会报此错误,原因不明,考虑应该是chrome的bug。最后,修改一下写法即可修复此问题
测试代码:
test.html
<html>
<head>
<script type="text/javascript" src="../Desktop/test.js"></script>
</head>
<body>
</body>
</html>
test.js
function n(t) {
let l = 0;
t === 1 ?
(l = 1)
: [l] = [2];
}
本文探讨了在Chrome57浏览器中遇到的一个特定JavaScript语法错误,即使用三目运算符时的兼容性问题。当statement1被括号包围且statement2为数组赋值时,会出现Uncaught SyntaxError。文章提供了测试代码示例,并提出了修改写法的解决方案。
5万+

被折叠的 条评论
为什么被折叠?



