我需要给string | number
类型加上40,然后返回一个string | number
。在Typescript中怎么可能呢?
我想把它解析成数字,然后增加它并返回它。但是我怎么能解析一个不确定是字符串但可以是数字的变量呢?:)
我试过了:
解析整数(x)-44
但提出了一个
Argument of type 'string | number' is not assignable to parameter of type 'string'.
Type 'number' is not assignable to type 'string'.ts(2345)
3条答案
按热度按时间ikfrs5lh1#
使用
Number
而不是parseInt
,类似于hpxqektj2#
要添加另一个选项,只需使用template string:
von4xj4u3#
通过检查类型:
在
if
之后,TypeScript将从流分析中得知x
已从string | number
缩小到number
。Playground示例
对于解析,请参阅我对各种选项的回答。
parseInt
在第一个非数字字符处停止,并返回它在该点处的任何数字(而不是返回NaN
),这可能是也可能不是您想要的行为。