ES6里面新增的符号和运算符
ES6里面新增的运算符
我们以前都知道有算术运算符、逻辑运算符和关系运算符还有位运算符吧!
在这里我就是要说一下ES6里面新增的…运算符
这个运算符的特点:
1、它是类似于arguments的,但是又有不同,…运算符用在参数里面时必须要为参数的最后一个而且他的这个前面也可以加参数
2、他主要用于收集参数,并且收集参数只能放在最后一个
这个主要的用途是用在数组中和函数中,对象中是ES7里面新增的
使用在函数中:
例:
function computedScore(...arg){
}
console.log(computedScore(97,99,93,92,90,81,88,70))
在数组中使用:
例:
let arr = [1,2,3];
let arr2 = [4,5,6];
let newArr = [...arr,...arr2];
console.log(newArr)
在这里我再加一个ES7里面新增的用途:
例:
let company = {
name : "baidu",
age : 15
};
let teachDepartment = {
leader : {
name : "peng",
age : 18
},
personNum : 20
};
let obj = {
...company,
...teachDepartment
}
console.log(obj)
obj.leader.name = "yin";
console.log(obj);
console.log(teachDepartment)
ES6里面新增的符号(Symbol(符号描述))
这个符号是用来创建的,这个也同时是新增的一个数据类型,可以用typeof来检测,返回的数据类型是symbol
创建形式:
const syb1 = Symbol(); //创建了一个符号
const syb2 = Symbol("asdfsdf");
注意:
符号的设计,给对象去新增私有属性的,只能在对象内部进行访问
符号的特点:
1.没有字面量的写法
var arr = []
var obj = {
}
var reg = //
2.新的数据类型,typeof返回的是symbol
3.每次去调用Symbol函数得到的符号永远不会相等,不管符号描述是否相同
例子: