【发布时间】:2020-04-27 02:46:05
【问题描述】:
下面是简单的代码来说明在 nodejs 中使用 let 和解构
function main(){
let options = {};
let [r, s, e] = [1, 2, 3];
if(true){
options = {a: 12}
[r, s, e] = [3, 4, 5];
console.log(options, r, s, e);
}
}
main();
输出 - [ 3, 4, 5 ] 1 2 3
输出很奇怪。它应该是 {a: 12} 3 4 5
当我将分号放在第 5 行的末尾时
options = {a: 12};
我得到正确的输出 - {a: 12} 3 4 5
我根本无法证明分号有什么不同?
【问题讨论】:
-
所有行必须以
;结尾,否则会产生奇怪的效果。;旨在通过语句分隔您的代码,而不是结束您的行。 -
又一个例子说明了为什么在代码中保留分号是危险的,不应该被接受。我知道您可能不打算在这里这样做,但令我惊讶的是,有多少人在没有分号的情况下进行编程并认为这是一种安全的做法。
标签: node.js destructuring