Please enable JavaScript.
Coggle requires JavaScript to display documents.
let和const命令 (变量的解构赋值 (数组的解构赋值 (可以从数组中提取值,按照对应位置,对变量赋值。, 如果等号的右边不是数组(或者严格地说…
let和const命令
变量的解构赋值
定义
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。
数组的解构赋值
可以从数组中提取值,按照对应位置,对变量赋值。
如果等号的右边不是数组(或者严格地说,不是可遍历的结构,参见《Iterator》一章),那么将会报错。
解构赋值允许指定默认值。
对象的解构赋值
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
字符串的解构赋值
用途
交换变量的值
从函数返回多个值
let
特性
不允许重复声明
没有预解析
变量一定要在声明后使用,否则报错
块级作用域
声明的变量仅在块级作用域内有效
为什么需要块级作用域
内层变量可能会覆盖外层变量
用来计数的循环变量泄露为全局变量。
暂时性死区
作用
声明变量
var
特性
全局变量
在全局范围内都有效
可以重复声明
变量预解析
在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。
作用
声明变量
const
特性
const声明的变量不得改变值,
这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
对于复合类型的变量,变量名不指向数据,而是指向数据所在的地址。const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变
块级作用域
const的作用域与let命令相同:只在声明所在的块级作用域内有效。
暂时性死区