ES6的新特性有哪些

发布时间 2023-09-05 17:38:52作者: enShine
1、let 和 const 声明变量的方式,取代了 var 关键字。
2、箭头函数(Arrow Function),简化了函数的书写方式。
3、模板字符串(Template String),允许在字符串中使用变量和表达式,而不需要使用字符串连接符号
4、解构赋值(Destructuring Assignment),允许从数组和对象中提取值并赋值给变量。
    const arr = [1, 2, 3];
    const [a, b, c] = arr;
    console.log(a, b, c); // 1 2 3const obj = {x: 1, y: 2, z: 3};
    const {x, y, z} = obj;
    console.log(x, y, z); // 1 2 3
5、默认参数(Default Parameter),在定义函数时可以给参数设置默认值。
6、扩展操作符(Spread Operator),可以在函数调用时展开数组或对象。
7、类(Class),引入了面向对象编程中类的概念。
8、模块化(Module),提供了一种组织代码的方式,可以将代码分割成独立的模块,方便重用和维护
9、Promise,用于处理异步操作,避免回调地狱的问题。
10、for…of 循环,用于遍历可迭代对象(如数组、Map 和 Set)中的元素。
11、Symbol,引入了一种新的数据类型,用于创建唯一的属性键。
12、Map 和 Set,引入了两种新的数据结构,分别用于存储键值对和唯一值。
13、Proxy,允许在对象和函数调用等操作前后添加自定义的行为。
14、Reflect,提供了一组可以操作对象的内置方法,可以替代一些对象方法(如 Object.defineProperty)的实现。
15、Promise.allSettled,用于处理多个 Promise 的状态并返回一个包含每个 Promise 状态的数组。

ES6新增的声明方式:
es6:
1、let,用于声明变量,语法“let 变量名=值”;
2、const,用于声明常量,语法“const 常量名=值”;
3、class,用于声明类,语法“class 类名{...}”;
4、import,用于声明静态加载的输入变量。

es5:
1、var声明变量
2、function:声明方法