javascript 当参数有默认值时,在JS中提供更好的类型注解

50few1ms  于 2023-11-15  发布在  Java
关注(0)|答案(1)|浏览(135)

我使用的是JS文件的遗留代码库,而不是TS。但是我添加了tsc来验证类型。
TS推断参数类型的一种方法是基于默认值。因此,

function doSomething(withProp = 5) {
  ...
}

字符串
withProp被假定为 * 总是 * 是一个数字,所以试图调用parseInt(withProp)不会很高兴。
我知道我可以使用JSign来纠正类型,但是在这个例子中,我处理的是Vuex的getter树深处的一个匿名函数。

3htmauhk

3htmauhk1#

代码中的withProp = 5反映了argdefault值,但这并不意味着总是argtype
如果您将任何stringobject作为参数传递,则其类型可能会根据传入的参数而更改。
检查类型的最好方法是创建一个实用函数来检测参数的类型。(你可以使用If ... else if.. else)然后你可以在getter中调用这个函数来验证传入的参数。

相关问题