文章目录
一、let 和 const
1. let 和 const 的基本用法
- let:用来代替 var 声明变量(变量一旦初始化之后,还可以重新赋值)
- const:用来声明常量(常量一旦初始化之后,就不能重新赋值了,否则会报错)
- const使用时的注意事项:
- 使用const声明常量一旦声明就必须立即初始化不能留到以后赋值
- const声明的常量允许在不重新赋值的情况下修改它的值(主要针对引用数据类型)
2. let、const 与 var 的区别
(1) 重复声明
- 重复声明:已经存在的变量或常量,又声明一遍
- var 允许重复声明,let、const 不允许重复声明
(2) 变量提升
- var 会提升变量的声明到当前作用域的顶部
- let、const 不存在变量提升
(3) 暂时性死区
- 暂时性死区:只要作用域内存在 let、const,它们声明的变量或常量就自动 “绑定” 这个区域,不再受到外部作用域的影响
- let、const 存在暂时性死区;var 不存在
(4) window 对象的属性和方法
- 全局作用域中,var 声明的变量,通过 function 声明的函数,会自动变成 window 对象的属性或方法;而 let、const 不会
(5) 块级作用域
- let、const 存在块级作用域;var 不存在
- 作用域链:内层作用域 —> 外层作用域 —> … —> 全局作用域
- 有哪些块级作用域:{}、for、while、do while、if、switch
二、解构赋值
- 解构赋值:解析某一数据的结构,将我们想要的东西提取出来,赋值给变量或常量
1. 数组的解构赋值
(1) 原理
- 模式(结构)匹配
[] = [1, 2, 3]