首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-var

--fix命令行上的选项可以自动修复一些被这条规则反映的问题。

ECMAScript 6允许程序员通过使用letconst关键字来创建具有块范围而不是函数范围的变量。块范围在许多其他编程语言中很常见,并帮助程序员避免错误,例如:

代码语言:javascript
复制
var count = people.length;
var enoughFood = count > sandwiches.length;

if (enoughFood) {
    var count = sandwiches.length; // accidentally overriding the count variable
    console.log("We have " + count + " sandwiches for everyone. Plenty for all!");
}

// our count variable is no longer accurate
console.log("We have " + count + " people and " + sandwiches.length + " sandwiches!");

规则细节

此规则旨在阻止var使用或鼓励改为使用constlet

示例

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint no-var: "error"*/

var x = "y";
var CONFIG = {};

此规则的正确代码示例:

代码语言:javascript
复制
/*eslint no-var: "error"*/
/*eslint-env es6*/

let x = "y";
const CONFIG = {};

何时不使用它

除了非 ES6环境外,如果开始将 ES6引入其代码库的现有 JavaScript 项目可能不希望应用此规则,如果从var迁移到let的代价过高。

版本

该规则在 ESLint 0.12.0中引入。

资源

扫码关注腾讯云开发者

领取腾讯云代金券