zoukankan      html  css  js  c++  java
  • typescript的?? 和?: 和?.什么意思

    ?:的意思指的是参数自动加上undefined

    function getval(x: number, y?: number) {
        return x + (y || 0);
    }
    getval(1, 2);
    getval(1);
    getval(1, undefined);
    getval(1, null); // error, 'null' is not assignable to 'number | undefined'

    ?? 和 || 的意思有点相似,但是又有点区别,??相较||比较严谨, 当值等于0的时候||就把他给排除了,但是?? 不会

    console.log(null || 5)   //5
    console.log(null ?? 5)     //5
    
    console.log(undefined || 5)      //5
    console.log(undefined ?? 5)      //5
    
    console.log(0 || 5)       //5
    console.log(0 ?? 5)      //0

    ?.的意思基本和 && 是一样的

    a?.b 相当于 a && a.b ? a.b : undefined

    const a = {
          b: { c: 7 }
    };
    console.log(a?.b?.c);     //7
    console.log(a && a.b && a.b.c);    //7
  • 相关阅读:
    idea中maven自动导入出现问题
    DDIA
    DDIA
    DDIA
    DDIA
    DDIA
    DDIA
    DDIA
    MIT 6.824 第五次作业Primary-Backup Replication
    MIT 6.824 第四次作业GFS
  • 原文地址:https://www.cnblogs.com/yhhBKY/p/13712452.html
Copyright © 2011-2022 走看看