面试Code + ES6写法让代码更优雅

null传导运算符

  const info=res?.data?.info;//左边值不为空可以取到右边的值

null 判断运算符 ??

  //当response.data不为null和undefined的时候,就返回response.data ,否则位‘400’
  const result = response.data ?? '400';

指数操作符

let res = 2**10;
console.log(res);//1024

数组中取值

 const arr = [1, 2, 3, 4, 5];
 let [a1, a2,,,a5] = arr;
 console.log(a1); //1 
 console.log(a5); //5

扩展运算符运用于数组

 const arr1 = [1, 2, 3, 4, 5];
 const arr3 = [11, 12, 13, 14]
 //***拷贝数组***
 const arr2 = [...arr1];//[1, 2, 3, 4, 5]
 //***合并数组***
 const arr4 = [...arr1, ...arr3];//[1, 2, 3, 4, 5, 11, 12, 13, 14]
 const arr5 = [0, ...arr1, 6, 7, 8];//) [0, 1, 2, 3, 4, 5, 6, 7, 8] 
 //***将数组扩展位函数的参数***
  function fun(x, y, z) {
            return x + y + z;
        }
        const nums = [1, 2, 3];
        let res = fun(...nums);
        console.log(res);//6

对象中取值

 const obj = {
            a1:1,
            a2:2,
            a3:3,
            a4:4
         }
         let {a1, a4} = obj;
         console.log(a1); //1 

// ***修改默认变量的名称***
  let {a1:b1, a4:b4} = obj;
  console.log(b1); //1 
  console.log(b4); // 4

扩展运算符运用于对象

  const obj1 = {
            a1: 1,
            a2: 2
        } 
  const obj2 = {
            a3: 3,
            a4: 4
        } 
  //***克隆对象***
  let obj3 = {...obj1};
  console.log(obj3); //{a1: 1, a2: 2}

  //***合并对象***
  let obj4 = {...obj1,...obj2};
  console.log(obj4); //{a1: 1, a2: 2, a3: 3, a4: 4}

  //排除对象属性
  let {a3,...others} = obj4;//排除obj4 的a3 属性
  console.log(others); //{a1: 1, a2: 2, a4: 4}

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));//['a1', 'a2', 'a3', 'a4']
  console.log(Object.values(obj4));//[1, 2, 3, 4]
  console.log(Object.entries(obj4));//键值对集合二维数组 
  

交换2个变量的值

  let a = 1;
  let b = 2;
  [a, b] = [b, a] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值