ES6 引入了 let 和 const 替代 var。
{} 内有效。特点:
this: 它继承外层作用域的 this,且无法通过 call, apply, bind 改变。arguments: 使用剩余参数 ...args 代替。new。prototype 属性。从数组或对象中提取值,对变量进行赋值。
使用反引号 ` 包裹,支持多行字符串和变量插值 ${expr}。
ES6 class 只是原型的语法糖,底层实现仍然是基于原型的。
import: 导入模块。export: 导出模块。Proxy 用于创建一个对象的代理,从而实现基本操作的拦截和自定义(如属性查找、赋值、枚举、函数调用等)。Vue 3 响应式原理使用了 Proxy。
一种新的原始数据类型,表示独一无二的值。常用于定义对象的私有属性或避免属性名冲突。
var,let,const 区别?var: 函数作用域,存在变量提升,可重复声明。let/const: 块级作用域,存在暂时性死区,不可重复声明。(见上文第 2 点)
module.exports,ESM 指向 undefined。