zoukankan      html  css  js  c++  java
  • js 运算符

      /**
       *  ?? 非空运算符允许我们在忽略错误值(如 0 和 null)的同时指定默认值
       * **/
      let currMoney = 0
      let noAccount = null
    
      function moneyAmount(money) {
        return money ?? `账户未开通`
      }
    
      console.log(moneyAmount(currMoney)) // => 0
      console.log(moneyAmount(noAccount)) // => `账户未开通`
    
      /**
       *  ??=  空赋值运算符仅当值为 null 或 undefined 时,此赋值运算符才会赋值
       * **/
      let x = null
      let y = 5
      console.log(x ??= 5) // => 5
      // 结合上面使用
      console.log(x = (x ?? y)) // => 5
    
      /**
       *  ?. 链判断运算符允许开发人员读取深度嵌套在对象链中的属性值,而不必验证每个引用。当引用为空时,
       *  表达式停止计算并返回 undefined。
       * */
      let arr = [1, 2, 3]
      console.log(arr?.length) // 3  等价于 arr && arr.length
    
      let travelPlans = {
        destination: 'DC',
        monday: {
          location: 'National Mall',
          budget: 200,
          host: null
        }
      }
      // 等价于 let res = travelPlans && travelPlans.monday && travelPlans.monday.location
      let res = travelPlans?.monday?.location;
      // 判断对象travelPlans下的 monday 下的有没有person属性,如果没有就设置为默认值
      let res2 = travelPlans?.monday?.person
      let res3 = travelPlans?.monday?.person ?? '张三';
      console.log(res) // National Mall
      console.log(res2) // undefined
      console.log(res3) // 张三

     vue中支持可选链

    1.安装依赖(Babel)

    npm install --save-dev @babel/plugin-proposal-optional-chaining

    2.添加至项目.babel.config.js文件中:

    module.exports = {
      presets: [],
      plugins: ['@babel/plugin-proposal-optional-chaining']
    }
  • 相关阅读:
    Zoj 3511 线段树
    HDU 3340 Rain in ACStar 线段树+简单几何?
    BZOJ 2282 & 树的直径
    BZOJ 1121 & science
    BZOJ 1067 & Interval_Tree
    BZOJ 1001 & SPFA
    UVa 11181 条件概率
    并查集——启发式合并,路径压缩
    GSS系列(1)——GSS1&&GSS3
    评测脚本
  • 原文地址:https://www.cnblogs.com/ronle/p/15778044.html
Copyright © 2011-2022 走看看