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、可选参数不能赋默认值,因为默认参数其实就是可选参数的一种。

相关推荐
Jinuss6 分钟前
Vue3源码reactivity响应式篇之computed计算属性
前端·vue3
落日沉溺于海6 分钟前
React From表单使用Formik和yup进行校验
开发语言·前端·javascript
知识分享小能手7 分钟前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
会豪10 分钟前
工业仿真(simulation)--前端(五)--标尺,刻度尺
前端
会豪12 分钟前
工业仿真(simulation)--前端(四)--画布编辑(2)
前端
an__ya__14 分钟前
Vue数据响应式reactive
前端·javascript·vue.js
苦逼的搬砖工17 分钟前
Flutter UI Components:闲来无事,设计整理了这几年来使用的UI组件库
前端·flutter
想买Rolex和Supra的凯美瑞车主18 分钟前
Taro + Vite 开发中 fs.allow 配置问题分析与解决
前端
ruanCat20 分钟前
使用 vite 的 base 命令行参数来解决项目部署在 github page 的路径问题
前端·github
Codebee25 分钟前
使用Qoder 改造前端UI/UE升级改造实践:从传统界面到现代化体验的华丽蜕变
前端·人工智能