案例
// 一、es6 Set 对象
let arrayStr = [{name: '11'}, {name: '11'}, 'a', 'b', 'c', 'ab', 'abc', 'a', 'c']
// 去除数组重复
console.log('去除数组重复 array === ', [...new Set(arrayStr)]);
// 二、es6 扩展符
let obj = [{name: "张三"}, {name: "李四"}]
let newObj = [...obj, {name: "王五"}]
console.log('es6 扩展符 === ', newObj);
// 三、es6 ? 操作符,检查一个值是否已经被设置,当它被设置后再继续
let data = {
record: {
name: '张三'
}
}
let data2 = {
record: {
name: '李四'
}
}
if(data?.record?.name){
console.log('? 操作符 name === ', data.record.name);
}
if(data2?.record?.name){
console.log('? 操作符 name2 === ', data2.record.name);
}
// 四、es6 ??操作符 (??操作符是一个检查一条语句左值是否为空的操作符,如果为空,它将返回右边的值)
let str1 = null ?? 'default value';
console.log('?? 操作符 str1 === ', str1);
let str2 = 11 ?? 22;
console.log('?? 操作符 str2 === ', str2);