我在我的angularjs项目中使用了eslint,我更喜欢使用vanillajs。
话虽如此,我不明白为什么eslint将以下表达式视为无效并拒绝它的原因。使用member
被认为是一种不好的做法吗?
typeof
参考:https://github.com/Gillespie59/eslint-plugin-angular/blob/master/docs/rules/typecheck-string.md
答案 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
}
}