no-var
Require let or const instead of var
warn by defaultfixable
A var belongs to the whole function, not to the block it's written in, and you can read it before the line that declares it. let and const are scoped to their block and can't be used before they're declared, which turns a class of silent bugs into errors.
--fix rewrites var to let where that can't change what the code does.
This rule is on by default in TypeScript files.
Configure#
On by default as a warning. To turn it off:
bunfig.toml
[lint.rules]
"no-var" = "off" # or "error"Examples#
example.js1 problem
for (var i = 0Unexpected var, use let or const instead.; i < 3; i++) {
setTimeout(() => console.log(i)); // 3, 3, 3
}example.jsNo problems
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i)); // 0, 1, 2
}