美文网首页前端技术类型
var、 let 和const区别

var、 let 和const区别

作者: 随心摆文 | 来源:发表于2018-08-22 14:33 被阅读33次

最近在学习尤达上面的一些Es6语法,记录一下。


在 JavaScript 中声明变量的唯一方式是使用关键字 var。

 本质上var在使用过程中有时候会带来一些问题,在执行任何 JavaScript 代码之前,所有变量都会被“提升”,也就是提升到函数作用域的顶部,这个时候var 声明的函数本身就会被局限。

为什么会是undefiend?下面图为你说明。

let 和 const


使用 let 和 const 声明的变量解决了这种提升问题,因为它们的作用域是到块,而不是函数。

之前,当你使用 var 时,变量要么为全局作用域,要么为本地作用域,也就是整个函数作用域。

如果在代码块(用花括号 { } 表示)中使用 let 或 const 声明变量,那么该变量会陷入暂时性死区,直到该变量的声明被处理。这种行为会阻止变量被访问,除非它们被声明了。

关于使用 let 和 const 的规则

let 和 const 还有一些其他有趣特性。

使用 let 声明的变量可以重新赋值,但是不能在同一作用域内重新声明。

使用 const 声明的变量必须赋初始值,但是不能在同一作用域内重新声明,也无法重新赋值。

关于使用 let 和 const 的规则


let 和 const 还有一些其他有趣特性。

使用 let 声明的变量可以重新赋值,但是不能在同一作用域内重新声明。

使用 const 声明的变量必须赋初始值,但是不能在同一作用域内重新声明,也无法重新赋值。

何时应该使用 let 和 const?

法则如下:

当你打算为变量重新赋值时,使用 let,以及

当你不打算为变量重新赋值时,使用 const。

因为 const 是声明变量最严格的方式,我们建议始终使用 const 声明变量,因为这样代码更容易读懂,你知道标识符在程序的整个生命周期内都不会改变。如果你发现你需要更新变量或更改变量,则回去将其从 const 切换成 let。

相关文章

  • es6

    1、let 和const(定义变量) (1)var 、let 、const的区别 a、作用域区别var 变量声明会...

  • Android菜鸟学习js笔记 一

    一、var,const,let区别? var 变量,const 常量,let块级变量。

  • 面试题 var let const的区别 箭头函数和普通函数的区

    var let const 有什么区别 var var声明的变量可进行变量提升,let和const不会var可以重...

  • let和const

    let/const(常用) let和var 区别 let,const用于声明变量,用来替代老语法的var关键字,与...

  • ES6

    定义变量 let const 和 var 的区别 var 会进行预解析let / const 不会进行预解析预解析...

  • 总结一下前端常见javascript基础面试题:

    1.var ,let 和const的区别: let和const是es6新增的语法, let和var都可以定义变量,...

  • (JS)

    ES6 let、const和var的区别 let和const声明变量不存在变量提升 let和const不能重复声明...

  • js 中 var let const 的区别

    很多人认为 var 和 let const 的区别在于,var 会变量提升,而 let const 不会,虽然可以...

  • JS中var、let、const区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

  • js中const,var,let区别

    在javascript中有三种声明变量的方式:var let const。let var const的区别?var...

网友评论

    本文标题:var、 let 和const区别

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