JavaScript变量声明、赋值与表达式全解析
1. 未声明变量的使用
在严格模式下,若尝试使用未声明的变量,代码运行时会抛出引用错误。而在非严格模式中,若将值赋给未使用 let 、 const 或 var 声明的名称,会创建一个新的全局变量。无论代码在函数和块中有多深的嵌套,该变量都会是全局的,这往往不是我们期望的,还容易引发错误,这也是使用严格模式的重要原因之一。
这种意外创建的全局变量与使用 var 声明的全局变量类似,它们都定义了全局对象的属性。但与通过 var 正确声明定义的属性不同,这些属性可以使用 delete 操作符删除。
2. 解构赋值
ES6引入了一种复合声明和赋值语法,即解构赋值。在解构赋值中,等号右侧的值是数组或对象(结构化值),左侧使用模仿数组和对象字面量语法的语法指定一个或多个变量名。当进行解构赋值时,一个或多个值会从右侧的值中提取(解构)并存储到左侧命名的变量中。
2.1 数组解构赋值示例
let [x,y] = [1,2]; // 等同于 let x=1, y=2
[x,y] = [x+1,y+1]; // 等同于 x = x + 1, y = y + 1
[x,y] = [y,x]; // 交换两个变量的值
[x,y] // => [3,2]: 递增并交换后的值
超级会员免费看
订阅专栏 解锁全文

1万+

被折叠的 条评论
为什么被折叠?



