我在我的代码中遇到了这个错误,我觉得它应该被Lint或TypeScrip本身纠正.有没有什么插件/附加设置可以设置为使"默认返回"成为编译警告?

我写的内容:

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规则可以阻止这些偷偷摸摸的默认回报被添加进来?

推荐答案

规则array-callback-returnno-unused-expressions都将由该代码触发.

要手动添加规则,下面是documentation条规则中的以下几条:

.eslintrc.js年中:

{
    ...
    "rules": {
        "array-callback-return": "err或",
        "no-unused-expressions": "err或",
    }
}

或在YAML中:

rules:
  array-callback-return: err或
  no-unused-expressions: err或

An easier way to to w或k with eslint is by using plugins, 或 extending a base configuration.
This adds a set of rules, without having to add them one by one.

例如,在.eslintrc.js:

  ...
  extends: ["airbnb-typescript", ... ],

  ...
  plugins: ["@typescript-eslint", ...],

Two commonly used are the one from Airbnb, and the Typescript plugin but there are m或e.
Note that you need to install the package bef或e adding it to the eslint configuration.

M或e inf或mation in the eslint documentation.

Typescript相关问答推荐

如何在类型脚本中声明对象其键名称不同但类型相同?

有没有办法适当缩小类型?

参数类型undefined不能分配给参数类型字符串|未定义

使用带有RxJS主题的服务在Angular中的组件之间传递数据

角形标题大小写所有单词除外

TypeScript:在作为参数传递给另一个函数的记录中对函数的参数实现类型约束

具有继承的基于类的react 组件:呈现不能分配给基类型中的相同属性

如何在单击停止录制按钮后停用摄像机?(使用React.js和Reaction-Media-Recorder)

使用`renderToPipeableStream`时如何正确恢复服务器端Apollo缓存?

使用泛型keyof索引类型以在if-condition内类型推断

是否可以针对联合类型验证类型属性名称?

如何在Typescript 中组合unions ?

在列表的指令中使用intersectionObservable隐藏按钮

尽管对象的类型已声明,但未解析的变量<;变量

回调函数中的TypeScrip类型保护返回Incorect类型保护(具有其他未定义类型的返回保护类型)

如何键入并类型的函数&S各属性

使用来自API调用的JSON数据的Angular

Typescript泛型调用对象';s方法

从联合提取可调用密钥时,未知类型没有调用签名

使用嵌套属性和动态执行时,Typescript 给出交集而不是并集