关于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的理解

猜你喜欢

转载自www.cnblogs.com/qiujun0324/p/9637651.html