为什么“typeof v ==='string'”被eslint视为无效

时间:2018-06-14 15:41:00

标签: javascript angularjs eslint

我在我的angularjs项目中使用了eslint,我更喜欢使用vanillajs。

话虽如此,我不明白为什么eslint将以下表达式视为无效并拒绝它的原因。使用member被认为是一种不好的做法吗?

typeof

参考:https://github.com/Gillespie59/eslint-plugin-angular/blob/master/docs/rules/typecheck-string.md

3 个答案:

答案 0 :(得分:2)

这是因为您正在使用Angular,它具有内置的isString方法,并且您为eslint安装了Angular插件。如果可以的话,它会建议使用已经实现的功能。

答案 1 :(得分:1)

他们可能更喜欢您使用内置版本,因为typeof检查容易出现拼写错误。

例如,如果你不小心错误输入了"string",你会得到不受欢迎的行为,并且不会立即明白问题是什么。如果您使用现有的已建立功能进行检查,则该错误是不可能的。

答案 2 :(得分:1)

要与Caldwell's answer一起使用,您可以重新配置eslintrc文件并覆盖类型检查linting。

请参阅:typecheck-string

对于Angular具有实用功能的其他类型检查也有规则。

我不知道您使用的是什么形式的eslintrc文件,但对于.eslintrc.js,它将是:

module.exports = {
  rules: {
    "angular/typecheck-string": "warn" // or "off" if you want no feedback
  }
}