首页 > 建站教程 > JS、jQ、TS >  typeScript中的 ?: 问号冒号解释,ts可选参数正文

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

typeScript中的?:问号冒号表示此参数或属性可选,使用了 –strictNullChecks,可选参数或属性会被自动地加上 | undefined:
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'
注意:1、不是三目运算符的问号冒号
         2、可选参数必须放在所有参数的后面
         3、可选参数不能赋默认值,因为默认参数其实就是可选参数的一种。