为什么价差保持不确定的价值?

时间:2019-03-31 13:51:43

标签: javascript arrays spread-syntax

我尝试使用javascript(node和chrome)进行传播。

感谢@ jonrsharpe,@ Quentin告诉我What are the rules for JavaScript's automatic semicolon insertion (ASI)?解释了分号是必需的,并解释了为什么必须使用分号。

let c, d
[ c, ] = [7, 8]; // <-- semicolon is necessary 
[ , d ] = [7, 8] // Otherwise, here: Uncaught SyntaxError: Unexpected token ,
let c, d
[ , d ] = [7, 8]; // <-- semicolon is necessary 
[ c, ] = [7, 8] // Otherwise, here: Uncaught SyntaxError: Unexpected token ]

出于好奇,我一直尝试在不使用分号的情况下进行测试并发现此行为:

let c, d
[ c, ] = [3, 4]
[ c, d ] = [5, 6]
console.log(c) //<-- 5
console.log(d) //<-- undefined

什么解释“ d”保持“未定义”? 我希望至少有一些有价值的错误。

0 个答案:

没有答案