码迷,mamicode.com
首页 > 其他好文 > 详细

no-redeclare (Rules) – Eslint 中文开发手册

时间:2020-07-12 00:28:18      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:应该   glob   view   -o   开发   相关   was   很多   document   

[
  • ??Eslint 中文开发手册

    no-redeclare (Rules) - Eslint 中文开发手册

    "extends": "eslint:recommended"配置文件中的属性启用此规则。

    在 JavaScript 中,可以使用重新声明相同的变量名称var。这可能会导致混淆变量实际声明和初始化的位置。

    规则细节

    这个规则旨在消除在同一范围内具有多个声明的变量。

    这个规则的错误代码示例:

    /*eslint no-redeclare: "error"*/
    
    var a = 3;
    var a = 10;

    此规则的正确代码示例:

    /*eslint no-redeclare: "error"*/
    
    var a = 3;
    // ...
    a = 10;

    选项

    该规则采用一个可选参数,一个具有布尔属性的对象"builtinGlobals"。它默认为false。如果设置为true,该规则还检查内置全局变量,如重新声明Object,Array,Number...

    builtinGlobals

    "builtinGlobals"选项将检查全局范围内的内置全局变量的重新声明。

    选项的错误代码示例{ "builtinGlobals": true }:

    /*eslint no-redeclare: ["error", { "builtinGlobals": true }]*/
    
    var Object = 0;

    选项和环境的错误代码示例:{ "builtinGlobals": true }browser

    /*eslint no-redeclare: ["error", { "builtinGlobals": true }]*/
    /*eslint-env browser*/
    
    var top = 0;

    该browser环境有很多内置的全局变量(例如,top)。一些内置的全局变量不能重新声明。

    请注意,在使用nodeor commonjs环境时(或者ecmaFeatures.globalReturn,如果使用默认解析器),程序的顶部范围实际上不是全局范围,而是“模块”范围。在这种情况下,声明一个以内置全局变量命名的变量不是重新声明,而是全局变量的阴影。在这种情况下,应该使用no-shadow带有该"builtinGlobals"选项的规则。

    相关规则

    no-shadowVersionThis rule was introduced in ESLint 0.0.9.ResourcesRule sourceDocumentation source

  • ??Eslint 中文开发手册
    ]
    转载请保留页面地址:https://www.breakyizhan.com/javascript/34406.html

    no-redeclare (Rules) – Eslint 中文开发手册

    标签:应该   glob   view   -o   开发   相关   was   很多   document   

    原文地址:https://www.cnblogs.com/breakyizhan/p/13286091.html

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!