什么!?ES6这么好用,我居然不知道?

一、新增let和const
关键字块级作用域变量声明提升初始值
varYY-
letXX
constXY必须有
二、新增箭头函数
//普通函数
var fn1 = function (param) {
    return param++;
}
// 箭头函数
let fn2 = (param) => {
    return param++;
}
三、新增 '扩展运算符 ’ 和 ‘解构’ 操作

扩展运算符
…会把数组中的每一项展开,分别赋值给等号前面的变量

var arr = [1,2,3]
var [a,b,c] = [...arr]
console.log(a,b,c);//1 2 3

1.数组解构

var arr = [1,2,3]
var [a,b,c] = [...arr]
console.log(a,b,c);//1 2 3

2.对象解构

var obj = {
    name:'wangwu',
    age:13
}
// 将obj的name赋值给name2
var {name:name2,age:age2} = obj
console.log(name2);//wangwu
// 将obj的age赋值给age2
console.log(age2);//13
四、新增对象Set(类似于数组)

数据结构 Set。它类似于数组,但是一个元素只能出现一次。
Set本身是一个构造函数,用来生成 Set 数据结构。
Set的特点就是该对象里面的元素不会有重复,常用于去重
使用:

let mySet = new Set();

mySet.add(1); // Set [ 1 ]
mySet.add(5); // Set [ 1, 5 ]
mySet.add(5); // Set [ 1, 5 ]
mySet.add("some text"); // Set [ 1, 5, "some text" ]
let o = {a: 1, b: 2};
mySet.add(o);

mySet.add({a: 1, b: 2}); // o 指向的是不同的对象,所以没问题

mySet.has(1); // true
mySet.has(3); // false
mySet.has(5);              // true
mySet.has(Math.sqrt(25));  // true
mySet.has("Some Text".toLowerCase()); // true
mySet.has(o); // true

mySet.size; // 5

mySet.delete(5);  // true,  从set中移除5
mySet.has(5);     // false, 5已经被移除

mySet.size; // 4, 刚刚移除一个值

console.log(mySet);
// logs Set(4) [ 1, "some text", {…}, {…} ] in Firefox
// logs Set(4) { 1, "some text", {…}, {…} } in Chrome

Set的方法

方法名描述
add(value)添加某个值,返回 Set 结构本身。
delete(value)删除某个值,返回一个布尔值,表示删除是否成功。
has(value)返回一个布尔值,表示该值是否为Set的成员。
lear()清除所有成员,没有返回值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值