我在代码中遇到了这个错误,我觉得它应该被Lint或Typescript本身发现。是否有一个插件/附加设置,我可以设置为使“默认返回”编译警告?
我写的是:
activeRegion = regions.find( region => { region.countryCode === activeCountryCode } )
我应该写的是:
activeRegion = regions.find( region => region.countryCode === activeCountryCode )
第二个执行您想要的操作,并返回条件为真的区域。
第一个,因为你实际上已经写了一个函数,所以需要返回。但是因为JS有默认返回的概念,所以它实际上变成了这样
activeRegion = regions.find( region => {
region.countryCode === activeCountryCode
return undefined;
} )
在这种情况下,这当然是无稽之谈(什么也找不到),那么有没有一个lint规则可以阻止这些偷偷摸摸的默认返回被添加进去呢?
1条答案
按热度按时间92dk7w1h1#
规则
array-callback-return
和no-unused-expressions
都将由此代码触发。要手动添加规则,请参阅以下文档:
在
.eslintrc.js
中:或者在yaml中:
使用eslint的一种更简单的方法是使用插件或扩展基本配置。
这增加了一组规则,而不必逐个添加它们。
例如
.eslintrc.js
:或
两个常用的是来自Airbnb和Typescript plugin的,但还有更多。
请注意,您需要先安装该软件包,然后再将其添加到eslint配置。
更多信息请参阅eslint documentation。