美文网首页
es6-入门-var 和 const let区别

es6-入门-var 和 const let区别

作者: 娇娇_5038 | 来源:发表于2021-01-07 15:05 被阅读0次

1.不存在变量提升

<script>

console.log(b); //undefind

var b = 1;

console.log(a);//直接报错不能进行下一步 Uncaught ReferenceError: Cannot access 'a' before initialization

let a = 1;

</script>

<script>

console.log(b); //undefind

var b = 1;

console.log(c);

const c=10;//直接报错不能进行下一步 Uncaught ReferenceError: Cannot access 'a' before initialization

</script>

2.暂时性死区 let在声明之前是不能用的

<script>

var tem=899;

if(true){

tem=1000;

let tem=10;// Uncaught ReferenceError: Cannot access 'tem' before initialization at

}

</script>

3.typeof 不再是完成正确 不再是百分之百的报错

<script>

console.log(typeof c);

</script>

4.不允许重复声明

<script>

//不允许重复声明

let a1=1;

let a1=2;//Identifier 'a1' has already been declared

let x=x;// Cannot access 'x' before initialization

</script>

5.块级作用域

5.1.1 为什么会有块级作用域

<script>

var f1=10;

function fn(){

  console.log(a);

  if(false){

  var a="局部"

  }

}

var f2="全局";

(function(){

var f2="局部"

console.log(f2)

}())

console.log(f2);

</script>

相关文章

网友评论

      本文标题:es6-入门-var 和 const let区别

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