美文网首页
let var const

let var const

作者: 弹指一挥间_e5a3 | 来源:发表于2019-04-15 20:29 被阅读0次

let、var、const的异同主要有以下几点:

1. var 可以声明前置

a = 3
var a 
var a =4

2.let 不可声明前置

a = 5 
let a //报错
image.png

3.var可以重复声明,let不可重复声明

image.png image.png

4.let存在块级作用域,var则没有。

image.png

函数外不能够访问函数内的变量,而var则不存在这种情况

image.png

5.let存在暂时性死区(TDZ):在let声明变量之前都是该变量的死区,在死区内该变量不可使用。看不懂不要紧,看下面的例子。

先看var的这段代码会输出什么?

console.log(a);
var a = 12;

如果你了解变量预编译过程,变量提升,那么很容易就会知道,这段代码相当于:

var a 
console.log(a)

因此,会输undefined.


image.png

而在ES6中,使用let命令,会产生什么样的结果呢?

alert(a)
let a  = 12

浏览器会直接报错,这就是let的暂时性死区


image.png
alert(a);//TDZ暂时性死区
let a = 12;//TDZ结束

对TDZ期间中的变量/常量作任何的访问动作,一律会抛出错误。

6.适用于let的同样适用于const

7.const声明的变量不可改变

const a = 1
a = 2 //报错

const obj = {a: 1}
obj.a = 2   //没问题
obj = {a: 2}  //报错

相关文章

  • Android菜鸟学习js笔记 一

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

  • ES6_var、let与const

    var,let 与 const var 申明变量。 let 申明变量,更完美的 var。 const 申明常量(物...

  • TypeScript 02 - 变量声明

    在 TypeScript 中,var 还是 var,let 还是 let,const 还是 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的区别 箭头函数和普通函数的区

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

  • ES6学习

    1、 var let const var是函数作用域let和const是块级作用域,!const是常量,不能改变。...

  • ES6

    let var const var 可声明前置 let不可声明前置 let不可重复声明 存在块级作用域 const...

  • let和const

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

  • js 2022经典面试题汇总

    1.JS数据类型有哪些 2.var、let、const区别 var存在变量提升,而let、const没有 let、...

网友评论

      本文标题:let var const

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