我正在尝试处理从查询字符串读取的参数,该参数可能是正确的,也可能不是正确的。
因此,如果有参数,则将其强制转换为number
,否则我将基于特定条件设置默认参数或将其默认设置为0
。
我尝试将下面的carId === null
更改为NaN或typeof
,但都没有一个更接近解决方案,因为我的carId
可以是NaN
,{ {1}},null
或随机0
number
我似乎无法处理export class Cars {
public activate(data): {
this.query = new Query(window.location.search);
this.query.fromQueryString(window.location.search);
const carIdString = this.query.paramValue("carId");
let carId = carIdString === null ? null : parseInt(carIdString, 10);
if (carId === null) {
const car = this.cars.find( // Some criteria);
carId = car ? car.id : 0;
}
this.handleCar(carId);
}
public handleCar (carId: number | null) {
// Do stuff...
}
}
。最好不要更改TS2345 Argument of type number | null is not assignable to parameter of type number
的签名。