ES6+ 新特性
概括
概括一下就是这些:
let const
解构赋值
新增运算符 ... ?. ??
模板字符串
内置对象新增了方法
Symbol 和 BigInt
Map Set 数据结构
Proxy Reflect
箭头函数
generator
promise
async await
class
ESModules
在项目中使用
let const
-
let 和 const 都具有块级作用域,因此在循环或条件语句中使用时,要注意变量的作用域。
-
let 和 const 都存在“暂时性死区”(Temporal Dead Zone, TDZ)的问题。在声明之前,尝试访问这些变量会导致错误。
-
使用 let 和 const 声明的变量不能被重复声明。这避免了变量名冲突。
-
const 用于声明常量,表示变量的绑定不可更改,但对象的属性仍然可以修改,因此要注意深浅拷贝问题。
-
const 在声明时必须初始化,而 let 可以先声明后赋值。
-
尽量避免在全局作用域中使用 let 和 const,推荐在函数或模块中使用,以减少命名冲突。