代码之家  ›  专栏  ›  技术社区  ›  Crayons

ESLINT:防止使用双感叹号(!!)

  •  4
  • Crayons  · 技术社区  · 4 年前

    停止esint所需的规则和配置是什么(使用时 eslint --fix )从更改:

    return regex.test(foo) ? true : false
    

    到这个:

    return !!regex.test(postalCode)
    

    虽然我理解这个规则的作用,但我不喜欢它。我认为它可能是其中之一——然而,要么两者都不是,要么我就是不明白如何正确配置它们。

    // eslintrc.js
    
    module.exports = {
      rules: {
        'no-implicit-coercion': [2, { string: false, boolean: false, number: false }],
        'no-extra-boolean-cast': [2, { enforceForLogicalOperands: true }],
      }
    }
    
    0 回复  |  直到 4 年前
        1
  •  2
  •   Alexander Nied    4 年前

    看起来像 no-unneeded-ternary 正在转换这一点,因为它最终是多余的,并且可以在没有三元的情况下写得更干净简洁。话虽如此 Salman A points out in the comments ,有点奇怪的是,修复本身正在利用被认为是的坏做法 !! 布尔型强制转换。