关于var和ES6中的let,const的理解

Posted qiujun0324

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于var和ES6中的let,const的理解相关的知识,希望对你有一定的参考价值。

  var的作用就不多说了,下面说说var的缺点:

  1.var可以重复声明    

var a = 1;
var a  = 5;
console.log(a);   //5   不会报错

  在像这些这些严谨的语言来说,一般是不允许重复声明的。

  2.无法限制修改

var  a = 5;
a  = 6;
console.log(a);  //6   不会报错

  3.没有块级作用域

if(true){
   var a = 5;  
}
console.log(a)   // 5  

  以上几个就是我个人对var的看法

 

  

  ES6中,多了两个声明let 和 const

  let和const的共同点 : 不能重复声明,都是块级作用域

//let和const重复声明
//let
let  a=  1;
let  a = 2;
console.log(a);  //报错

//const 
const  b = 2;
cosnt  b = 3;
console.log(b);    //报错




//let和const的块级作用域
//let
if(true){
  let a = 8l  
}
console.log(a);  // 报错

//const
if(true){
  const b  = 8;      
}
console.log(b)  //报错





相对于var
if(true){
  var c = 10;  
}
console.log(c);  //10

  let和const的不用点:let声明的是变量,可以改变;    const 声明的是常量,不能改变。

//let和const的不同点
//let声明的是变量,可以改变
let  a  = 8;
      a  =  88;
console.log(a);   //88 


//cosnt声明的是常量,不可以改变
const  b= 8;
         b = 88;
console.log(b);  //报错

  以上是我个人对var,let和const的理解

以上是关于关于var和ES6中的let,const的理解的主要内容,如果未能解决你的问题,请参考以下文章

关于ES6的let,const与var之间的三生三世

深入理解ES6 - var-let-const

ES6中的let 和 const 命令区别?

ES6中的let和const

关于ES6的let和const

2-新的变量声明方式(var ,let,const)