【问题标题】:Eslint disallow a built-in global function?Eslint 不允许内置全局函数?
【发布时间】:2019-03-02 16:42:04
【问题描述】:

是否有禁用特定内置 JS 功能的规则?例如。我想禁用parseFloat,因为几乎从来没有parseFloat 比一元+ 更好的情况。

【问题讨论】:

  • 我认为parseFloat 更明确……!
  • @deceze 我更喜欢使用Number 函数来转换Number("42") //42。它是明确的,你也可以很容易地传递它["1", "2", "3"].map(Number)。话虽如此,我仍然认为parseFloat 很有用,因为它不仅对整个字符串进行转换,而且您可以使用它从开头提取数字,例如parseFloat("3.50 USD") //3.5,而Number+ 将返回 NaN,因此您必须编写更多不需要的代码来从头提取数字。

标签: javascript eslint


【解决方案1】:

你可以使用no-restricted-globals:

如果您想通过启用环境来允许一组全局变量,但仍想禁止其中一些变量,则禁止使用特定全局变量会很有用。

此规则允许您指定不想在应用程序中使用的全局变量名称。

例子:

{
  "rules": {
    "no-restricted-globals": ["parseFloat"]
  }
}

或者,对于更具描述性的警告:

{
  "rules": {
    "no-restricted-globals": [
      "error",
      {
        "name": "parseFloat",
        "message": "Use + instead."
      }
    ]
  }
}

【讨论】:

  • 有没有办法将它用于JSON.stringify。还是其他一些 eslint 规则?
猜你喜欢
  • 2022-01-05
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-04
相关资源
最近更新 更多