高端ES6,向大咖进阶

// 1、从对象Object中取值
    const obj = {
      a: 1,
      b: 2,
      c: 3,
      d: 4,
      e: 5,
    };
    // 常规写法
    // const a = obj.a;
    // const b = obj.b;
    // const c = obj.c;
    // const d = obj.d;
    // const e = obj.e;
    // console.log(a);//1
    // 高端写法---------es6解构
    const { a, b, c, d, e } = obj;
    console.log(a); //1
    // 注意,更高端的操作来了,假如你需要的字段并不是a,而是aaa,那么还可以使用es6解构吗?
    // 当然可以
    const { a: aaa, b: bbb, c: ccc, d: ddd, e: eee } = obj;
    console.log(aaa); //1
    // 但是需要注意一点,ES6的解构赋值虽然好用。但是要注意解构的对象不能为undefined、null。否则会报错,故要给被解构的对象一个默认值。
    // 所以最完美的写法便是:
    const { a: aaaa, b: bbbb, c: cccc, d: dddd, e: eeee } = obj || {};
    // 2、合并两个数组,合并两个对象
    const arr = [1, 2, 3];
    const brr = [1, 5, 6];
    // 常规写法
    // 合并数组-----没有进行数组去重
    const crr = arr.concat(brr); //[1,2,3,1,5,6]
    // 合并对象
    const obj1 = { a: 1 };
    const obj2 = { b: 2 };
    const objAll = Object.assign({}, obj1, obj2);
    console.log(objAll); //{a:1,b:1}
    // 高端写法:----------es6的扩展运算符
    // 合并数组+数组去重
    const arrNew = [1, 2, 3];
    const brrnew = [1, 5, 6];
    const crrNew = [...new Set([...arrNew, ...brrnew])];
    console.log(crrNew); //[1,2,3,5,6]
    // 合并对象
    const objNew1 = { a: 1 };
    const objNew2 = { b: 2 };
    const objAllNew = { ...objNew1, ...objNew2 };
    console.log(objAllNew); //{a:1,b:1}
    // 3、字符串拼接---模板字符串
    // 常规写法
    const name = "小明";
    const score = 59;
    let result = "";
    if (score > 60) {
      result = `${name}的考试成绩及格`;
    } else {
      result = `${name}的考试成绩不及格`;
    }
    // console.log(result);//小明的考试成绩不及格
    // 注意:这样代码显得太繁琐了,而且没有明白模板字符串的真正用法,在${}中可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性。
    // 高端写法
    const resultNew = `${name}${
      score > 60 ? "的考试成绩及格" : "的考试成绩不及格"
    }`;
    console.log(resultNew); //小明的考试成绩不及格
    // 4、if中的判断条件
    // 常规写法
    let type = 1;
    if (type == 1 || type == 2 || type == 3 || type == 4) {
      //....
    }
    // 高端写法
    const condition = [1, 2, 3, 4];
    if (condition.includes(type)) {
      //...
    }
    // 5、关于输入框非空的判断
    // 常规写法
    let value = "";
    if (value !== null && value !== undefined && value !== "") {
      //...
    }
    // 高端写法---ES6中新出的空值合并运算符
    if (value ?? "" !== "") {
      //...
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值