ES6知识学习

124 阅读1分钟

数组及对象合并去重

const a = [1,2,3];
const b = [1,5,6];
const c = [...new Set([...a,...b])];//[1,2,3,5,6]

const obj1 = {
  a:1,
}
const obj2 = {
  b:1,
}
const obj = {...obj1,...obj2};//{a:1,b:1}

关于if中判断条件

// ES5写法
if( type == 1 || type == 2 || type == 3 || type == 4 || ) { 
    //... 
}
// ES6写法
const condition = [1,2,3,4]; if( condition.includes(type) ){
    //... 
}

关于扁平化数组的处理

扁平化数组

就是把多维数组转化为一维数组,例如,将多维数组 [1,2,3,[2,3,[4,5,6]],4,100] 转化为 [1,2,3,2,3,4,5,6,4,100] 的形式

const deps = {
    '采购部':[1,2,3],
    '人事部':[5,8,12],
    '行政部':[5,14,79],
    '运输部':[3,64,105],
}
let member = Object.values(deps).flat(Infinity);

补充

flat方法不支持IE浏览器。

可选链操作符

// ES5写法
const name = obj && obj.name;
// ES6写法
const name = obj?.name;

非空时的判断

// ES5写法
if(value !== null && value !== undefined && value !== ''){ //... }
// ES6写法
if((value??'') !== ''){
  //...
}

补充

如果if(!value){}代替的话0不为空

交换两个变量的值

let a = 'a';
let b = 'b';
[a, b] = [b, a];
console.log(a); // b
console.log(b); // a

ES6模块化 export 和 export default的区别

export: 可以导出多个变量 import时必须使用导出的变量名称进行接收,需要使用大括号
export default: 只能导出一个变量 import时 可以随便使用变量名称进行接收,不需要使用大括号

后续学习到新的方法后会继续补充