Javascript 什么';s是[b,a]=[a,b]和常数[b,a]=[a,b]之间的差

Javascript 什么';s是[b,a]=[a,b]和常数[b,a]=[a,b]之间的差,javascript,destructuring,Javascript,Destructuring,在销毁过程中,这两种代码的结果确实不同。我不知道为什么 提示说const[b,a]=[a,b]将导致a,b的值变为未定义的值(简单的赋值规则从左到右)。我不明白为什么会这样 设a=8,b=6; (() => { [b,a]=[a,b]; })(); console.log(a);//应该是6岁 控制台日志(b);//应为8 提示说const[b,a]=[a,b]将导致a,b的值未定义(简单的赋值规则从左到右)。我不明白为什么会这样 不会的。如果FreeCodeCamp说是这样,那就错了 如果在

在销毁过程中,这两种代码的结果确实不同。我不知道为什么

提示说
const[b,a]=[a,b]
将导致
a,b
的值变为
未定义的值(简单的赋值规则从左到右)。我不明白为什么会这样

设a=8,b=6;
(() => {
[b,a]=[a,b];
})();
console.log(a);//应该是6岁
控制台日志(b);//应为8
提示说
const[b,a]=[a,b]
将导致a,b的值未定义(简单的赋值规则从左到右)。我不明白为什么会这样

不会的。如果FreeCodeCamp说是这样,那就错了

如果在
[b,a]=[a,b]
之前添加
const
,您将得到一个引用错误,因为您将外部
a
b
与内部
隐藏在一起,并试图在初始化内部
之前使用它们:

设a=8,b=6;
(() => {
常数[b,a]=[a,b];
})();
console.log(a);//应该是6岁

控制台日志(b);//应该是8“提示”?什么提示?@j08691作业提示可能
const
表示它的常量。。。。?因为它不能被改变…这是一个自由的过程。我被卡住了,所以我点击“提示”,他们给了我这样的提示。但是我不明白他们说什么。谢谢!阴影表示外部变量和内部变量名称相同@박충호 - 这意味着有两个
a
变量和两个
b
变量:函数内部的变量和函数外部的变量。如果函数在函数内声明了函数外的变量,则不能从函数内使用函数外的变量,因为该声明会隐藏外部变量。(“变量”在本上下文中表示“变量或常量”。技术术语具有约束力。)