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
变量:函数内部的变量和函数外部的变量。如果函数在函数内声明了函数外的变量,则不能从函数内使用函数外的变量,因为该声明会隐藏外部变量。(“变量”在本上下文中表示“变量或常量”。技术术语具有约束力。)