美文网首页
关于ES6语法基础讲解(var与let,const的区别)-1

关于ES6语法基础讲解(var与let,const的区别)-1

作者: d4258cabb857 | 来源:发表于2018-03-26 11:41 被阅读0次

1.var 是一个函数作用域,let和const是一个块级作用域;

定义一个块级作用域:

{

    let a = 1;

    var b =2;

}

console.log(a);

console.log(b);

打印结果:a is not defined

                    2

var 在块级作用域里可以提升到外边而let const 不行;

const是声明常量的,

2.变量提升

所谓变量提升就是书写的位置和代码定义的位置不同,举个例子:

console.log("a" + a);

var a = 1;

这样打印出的结果:

a undefined

讲解:var可以做到变量提升作用他相当于:

var a;

console.log("a" + a);

a = 1;

从上面可以看到其实a在上面已经定义了,只是console的时候没有去定义a的值 所以打印出 undefined;

想对比ES6的 let就没有var的变量提升作用了,看下面的例子

console.log("b" + b);

let b = 2;

打印结果:b is not defined;

讲解:let 没有变量提升的作用 所有在console之前就没有定义b,所以会打印出 b is not defined;

相关文章

网友评论

      本文标题:关于ES6语法基础讲解(var与let,const的区别)-1

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