typescript可选参数 null,undefine的表现

程序测试

ts 复制代码
function add(a: number, b?: number | null): number {
    if (b == undefined) {
        console.log("b is empty")
    }
    if (!b) {
        console.log("b is empty x")
    }
    if (b == null) {
        console.log("b is empty y")
    }


    let c = b ?? 0;
    let d = b!;
    console.log(d);
    console.log(c);
    let x = c + a;
    console.log(x)
    return x;
}

测试

在nodejs环境进行测试,都没有奔溃问题

  • 可选参数不传
    add(1)
    // 控制台打印
    // b is empty
    // b is empty x
    // b is empty y
    // undefined
    // 0
    // 1
  • 传undefined
    add(1, undefined)
    // 控制台打印
    // b is empty
    // b is empty x
    // b is empty y
    // undefined
    // 0
    // 1
  • 传null
    // b is empty
    // b is empty x
    // b is empty y
    // null
    // 0
    // 1

总结,上面三种情况都不管是判空,判undefine或者是判非可以匹配到。

相关推荐
e***U8202 分钟前
React Hooks性能优化
前端·react.js·前端框架
4***R2403 分钟前
React数据分析
前端·react.js·前端框架
X***E4634 分钟前
React课程
前端·react.js·前端框架
4***99744 分钟前
React音频处理案例
前端·react.js·音视频
1***81539 分钟前
React组件
前端·javascript·react.js
6***34923 分钟前
Vue混合现实案例
前端·vue.js·mr
p***434829 分钟前
Vue混合现实开发
前端·vue.js·mr
ArkPppp31 分钟前
大道至简-Shadcn/ui设计系统初体验(下):Theme与色彩系统实战
前端·前端框架
炒米233332 分钟前
通义千问Qwen3-Coder模型帮我总结的typescript笔记
前端
__花花世界37 分钟前
前端日常工作开发技巧汇总
前端·javascript·vue.js