options参数中可选参数的默认值

pis*_*hio 8 typescript

我想传递一个对象作为类的构造函数的参数.选项对象的某些键是可选的.

是否有更好/更惯用的方式来完成打字稿中的以下内容?谢谢

class Car {
    color: number;
    numberOfWheels: number;

    constructor (options: {color: number, numberOfWheels?: number}) {
        options.numberOfWheels |= 4;

        this.color = options.color;
        this.numberOfWheels = options.numberOfWheels;
    }
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*rPi 5

if (options.numberOfWheels === void 0) { options.numberOfWheels = 4; }改用.(否则0或NaN ......也将是4)

除此之外,你所做的实际上非常聪明,这是你能做的最好的事情.这样的事情是行不通的:

constructor (options: {color: number, numberOfWheels?: number} = {color: options.color})
Run Code Online (Sandbox Code Playgroud)