let关键字
用于声明只在块级作用域起作用的变量。
const关键字
用于声明一个常量。
模板字符串
let name = "模板字符串";
let obj = {
"name":name,
"say":function(){
alert('hello world');
}
};
改写成:
let name = "模板字符串";
let obj = {
name,
say(){
alert('hello world');
}
};
箭头函数
结构赋值
一种新的变量赋值方式。常用于交换变量值,提取函数返回值,设置默认值。
结构赋值,实现两个变量的值的交换
实现两个变量的值的交换
let a = 1;
let b = 2;
[a,b] = [b,a];
完成函数的参数默认值
function demo({name="ES6"}){
console.log(name);
}
Symbol数据类型
定义一个独一无二的值。
let name = Symbol('name');
let product = {
[name]:"洗衣机",
"price":799
};
Reflect.ownKeys(product);
Proxy代理
用于编写处理函数,来拦截目标对象的操作。
for…of遍历
可遍历具有iterator 接口的数据结构。
利用数组推导,计算出数组 [1,2,3,4] 每一个元素的平方并组成新的数组。
var arr1 = [1, 2, 3, 4];
var arr2 = [for(i of arr1) i * i];
console.log(arr2);
Set结构
存储不重复的成员值的集合。
Set类型是在ES6中新增的,它类似于数组,但是成员的值都是唯一的,没有重复的值。
// 方法一
const array=[1,1,2,3,4];
Array.from(new Set(array));
//方法二
const set = new Set([1,2,3,4,4,]);
[...set];
//Array.from(set);
let set1 = new Set();
set1.size;
//检测元素是否存在
set1.has(' ');
//删除元素
set1.delete(' ')
//清除元素
set1.clear()
Map结构
键名可以是任何类型的键值对集合。
Promise对象
更合理、规范地处理异步操作。
Class类定义类
更简便地实现类的继承。