ES6 的新特性总结
关于声明变量
由 var 变成 let 和 const
区别:
- var声明的变量会挂载到window上,let和const声明的变量不会
- var声明的变量存在变量提升,而let和const声明的变量不存在变量提升
- let和const声明的变量形成块级作用域
- 在同一作用域下面let和const不可以声明同名变量,var可以声明
- const一旦声明就必须赋值不能使用null占位,一旦赋值后就不能修改,如果赋值的是复合型数据则可以修改里面的属性值
- let为其声明的变量隐式地了所在的块作用域。 就是 for循环还有一个特别之处,就是循环语句部分是一个父作用域,而循环体内部是一个单独的子作用域。
关于模板字符串
模板字符串:使用反引号``;在模板字符串里面支持换行,并可以在里面使用${}来包裹一个变量或表达式;
- 模版字符串可以引入变量,不使用变量也是可以的
- 我们还可以先定义变量,然后在模版字符串中嵌入变量
- 由于反引号是模版字符串的标识,如果我们需要在字符串中使用反引号,我们就需要对其进行转义
`我爱\` 我的祖国。`
- 如果使用模版字符串表示多行字符串,所有的空格和缩进都会被保存在输出中
- 在模板字符串中我们也可以调用函数
- 如果在${}中的变量时没有命名的,那么会报错
关于结构
有数组解构和对象解构;可以快速获取数组和对象的值