JavaScript 变量的最佳实践有哪些?

问题描述 投票:0回答:1

我刚开始使用 JavaScript,并且遇到了变量操作混乱的问题。我读到

var
是不值得鼓励的,因为它允许意外的变化,所以
let
const
应该取代
var
。我一直在与一个产生错误结果的程序作斗争,我已将问题范围缩小到我对变量的使用。我已经确定,如果我使用
let
,代码会失败,但使用
var
则可以正常工作。我知道问题是由于 let 命令的范围造成的,但我想获得一些有关如何使这个简单示例与
let
而不是
var
一起工作的最佳实践的指导。

这是出现未定义错误的代码:

    const yearBorn = 1970;
    console.log(yearBorn);
    if (yearBorn <= 2020) {
        console.log("Less than");  
        let baseYearCalc = 2021;
        console.log(baseYearCalc);
    } 
        console.log(baseYearCalc);

输出为: 1970年 少于 2021年 baseYearCalc 未定义

请让我知道知道自己在做什么的人将如何解决这个问题。 谢谢,拉里

javascript variables
1个回答
0
投票

因此,当您使用

var
时,该变量就会被提升。本质上它在 if 块的范围之外可用。

   if (yearBorn <= 2020) {
        console.log("Less than");  
        let baseYearCalc = 2021;     // making a variable here in this scope
        console.log(baseYearCalc);
    }                                // It goes out of scope here
        console.log(baseYearCalc);   // and when you try to access it here it errors.

解决方案是在 if 块之外定义它

   let baseYearCalc = 2021; 
   if (yearBorn <= 2020) {
        console.log("Less than");  
        console.log(baseYearCalc);
    }                                
        console.log(baseYearCalc);   // Now it is available here as well
© www.soinside.com 2019 - 2024. All rights reserved.