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]: 递增并交换后的值
解构
超级会员免费看
订阅专栏 解锁全文

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



