处理类型为数字,NaN和null的参数

时间:2019-05-20 16:57:54

标签: typescript types

我正在尝试处理从查询字符串读取的参数,该参数可能是正确的,也可能不是正确的。

因此,如果有参数,则将其强制转换为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的签名。

0 个答案:

没有答案