null传导运算符
const info=res?.data?.info;
null 判断运算符 ??
const result = response.data ?? '400';
指数操作符
let res = 2**10;
console.log(res);
数组中取值
const arr = [1, 2, 3, 4, 5];
let [a1, a2,,,a5] = arr;
console.log(a1);
console.log(a5);
扩展运算符运用于数组
const arr1 = [1, 2, 3, 4, 5];
const arr3 = [11, 12, 13, 14]
const arr2 = [...arr1];
const arr4 = [...arr1, ...arr3];
const arr5 = [0, ...arr1, 6, 7, 8];
function fun(x, y, z) {
return x + y + z;
}
const nums = [1, 2, 3];
let res = fun(...nums);
console.log(res);
对象中取值
const obj = {
a1:1,
a2:2,
a3:3,
a4:4
}
let {a1, a4} = obj;
console.log(a1);
let {a1:b1, a4:b4} = obj;
console.log(b1);
console.log(b4);
扩展运算符运用于对象
const obj1 = {
a1: 1,
a2: 2
}
const obj2 = {
a3: 3,
a4: 4
}
let obj3 = {...obj1};
console.log(obj3);
let obj4 = {...obj1,...obj2};
console.log(obj4);
let {a3,...others} = obj4;
console.log(others);
Object keys,Object.values,Object.entries
const obj1 = {
a1: 1,
a2: 2
}
const obj2 = {
a3: 3,
a4: 4
}
let obj4 = {...obj1,...obj2};
console.log(Object.keys(obj4));
console.log(Object.values(obj4));
console.log(Object.entries(obj4));
交换2个变量的值
let a = 1;
let b = 2;
[a, b] = [b, a]