美文网首页
为什么要使用let和const,而不使用var?

为什么要使用let和const,而不使用var?

作者: BigDipper | 来源:发表于2020-04-24 10:28 被阅读0次

在ES6中,建议使用letconst来定义变量。引入letconst的目的就是创建了块作用域。

在ES5中只有全局作用域和函数作用域,这就导致了很多问题。
比如,用var定义的变量会出现变量提升的情况:

function t() {
    console.log(a); // 变量a提升到函数顶部,输出为undefined

    var a = 123;
}

t();

再比如,在for循环中定义的i,在循环结束后仍可访问:

for (var i = 0; i < 5; i++) {
    console.log('在for循环内i的值为:', i);
}

console.log('循环结束了,i的值为:', i); // 循环结束了,但i仍然可以访问,此时i处于全局作用域内

还有很多类似的或者令人意想不到的情况,这都会让人感到困惑,阻碍项目的开发。所以,对自己好一点,var能不用就不用,最好是忘了它,只用letconst来定义变量。

相关文章

  • NodeJS ES6 规范

    1、建议不再使用var,而使用let和const,优先使用const 2、静态字符一律使用单引号或反引号,不建议使...

  • es6常用语法

    const 和 let 在es6语法规范中,尽量使用let替代var,如果在const 和let中选,优先使用co...

  • ES6 学习笔记

    ES6 var let const 的使用 var let const 声明变量 全局作用域 和 块级作用域的区...

  • 1.暂时性死区

    ES6中,let/const是使用区块作用域;var是使用函数作用域;在let和const声明变量和常量之前访问对...

  • TypeScript基础-变量声明

    使用let替代var JavaScript中变量声明方式有:let var const。TypeScript中推荐...

  • 为什么要使用let和const,而不使用var?

    在ES6中,建议使用let和const来定义变量。引入let和const的目的就是创建了块作用域。 在ES5中只有...

  • 前端小知识<2>

    1、var、let 及 const 区别 var 存在提升,可以在声明之前使用 值为 undefined。let、...

  • 2019-10-10

    let和const let声明的变量只在let命令所在的代码块生效在声明之前使用会报错,而var则显示undefi...

  • let,const和var的区别

    let,const和var的区别 变量提升:const 和 let 必须先声明再使用,不支持变量提升 作用域:co...

  • 编程风格

    1.块级作用域(1)let 取代 var(2)全局常量和线程安全 在let和const之间,建议优先使用const...

网友评论

      本文标题:为什么要使用let和const,而不使用var?

      本文链接:https://www.haomeiwen.com/subject/zdexwhtx.html