我在測試瀏覽器兼容問題時,發現一個頁面在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];
}