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']
    }
  • 相关阅读:
    js和jquery获取图片真实的宽度和高度
    Python中为feedparser设置超时时间教程
    sql 聚合函数、排序方法详解
    BUAAMOOC项目终审报告
    BUAAMOOC项目M2 postmortem
    Beta阶段发布说明
    Beta版本测试报告
    2-Twenty Fifth Scrum Meeting-20151231
    2-Twenty Fourth Scrum Meeting-20151230
    2-Twenty third Scrum Meeting-20151229
  • 原文地址:https://www.cnblogs.com/ronle/p/15778044.html
Copyright © 2011-2022 走看看