typeScript中的 ?: 问号冒号解释,ts可选参数

typeScript中的 ?: 问号冒号解释,ts可选参数

js 复制代码
function f(x: number, y?: number) {
 return x + (y || 0);
}
f(1, 2);
f(1);
f(1, undefined);
f(1, null); // error, 'null' is not assignable to 'number | undefined'

class C {
    a: number;
    b?: number;
}
let c = new C();
c.a = 12;
c.a = undefined; // error, 'undefined' is not assignable to 'number'
c.b = 13;
c.b = undefined; // ok
c.b = null; // error, 'null' is not assignable to 'number | undefined'

typeScript中的?:问号冒号表示此参数或属性可选,使用了 --strictNullChecks,可选参数或属性会被自动地加上 | undefined:

注意:1、不是三目运算符的问号冒号

2、可选参数必须放在所有参数的后面

3、可选参数不能赋默认值,因为默认参数其实就是可选参数的一种。

相关推荐
wkj0011 小时前
vue中 js-cookie 用法
前端·javascript·vue.js
GoldKey6 小时前
gcc 源码阅读---语法树
linux·前端·windows
Xf3n1an7 小时前
html语法
前端·html
张拭心7 小时前
亚马逊 AI IDE Kiro “狙击”Cursor?实测心得
前端·ai编程
漠月瑾-西安7 小时前
如何在 React + TypeScript 中实现 JSON 格式化功能
javascript·jst实现json格式化
烛阴7 小时前
为什么你的Python项目总是混乱?层级包构建全解析
前端·python
止观止7 小时前
React响应式组件范式:从类组件到Hooks
javascript·react.js·ecmascript
@大迁世界7 小时前
React 及其生态新闻 — 2025年6月
前端·javascript·react.js·前端框架·ecmascript
LJianK18 小时前
Java和JavaScript的&&和||
java·javascript·python
红尘散仙8 小时前
Rust 终端 UI 开发新玩法:用 Ratatui Kit 轻松打造高颜值 CLI
前端·后端·rust