gpt4 book ai didi

javascript - 有什么理由继续使用 var 吗?

转载 作者:行者123 更新时间:2023-12-04 00:30:47 25 4
gpt4 key购买 nike

为什么不禁止“VAR”?我的问题不是关于“var”和“let”之间的区别。所有这些答案都在宣扬使用“让”的优势。我的问题是:为什么不坦率地说“不要再使用'var'了”?有什么理由不那么直接吗?

“var”仍在许多严肃的教程网站上使用:Mozilla MDN、w3schools ... 我想知道是否有隐藏的原因让我失踪。

下面有一个答案:legacy(不支持 ES6 的旧浏览器)这是唯一的原因吗?任何性能原因?或者一些花哨的使用提升?

[这是我原来的帖子的其余部分......

var arr = [];    // -> const arr = [];
var obj = {}; // -> const obj = {};
var temp; // -> let temp;
var f = function(){}; // -> const f = function(){};

这样做,我认为变量可能表现得像 var 变量(提升等)的唯一方式是 - 不幸的 - 未声明的变量:x = sthg; 在某些函数中(成为:var x = sthg; 在全局范围内)。如果我遗漏了什么,那将对我有很大帮助。 ]

最佳答案

在去年,我什至考虑过使用 var 的唯一一次是利用它被提升到代码块之外,尤其是在条件语句中。像这个人为的例子:

const oneOrZero = shouldBeOne => {
if (shouldBeOne) {
var test = 1
} else {
var test = 0
}

return test
}

在这种情况下,您可以将 var 替换为 let,但这总是让我觉得有些困惑:

const oneOrZero = shouldBeOne => {
let test

if (shouldBeOne) {
test = 1
} else {
test = 0
}

return test
}

最后,我所做的是利用三元运算符和const。这具有在检查初始条件后不可重新分配的额外优势,这通常是我的意图:

const oneOrZero = shouldBeOne => {
const test = shouldBeOne
? 1
: 0

return test
}

TL;DR:我已经一年多没用过 var 了。 const 更可取,通常会迫使我编写更好的代码。 let 偶尔有用。

关于javascript - 有什么理由继续使用 var 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48117489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com