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