ES6 中的 let 和 const 的简单理解

导读:本篇文章讲解 ES6 中的 let 和 const 的简单理解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、声明的变量属于块级作用域 

//属于块级作用域,没有变量提升

function test(){

  for(let i=1;i<3;i++){ //这个括号内属于块级作用域,let 声明的变量只在其的作用域内有效
    console.log(i);  // i 的值 为 1、 2
  }

  console.log(i);  // 由于脱离了作用域,访问不到块级作用域里的i , 所以 i 为undefined
 
}


如果将 let 换成了 var, 则结果如下
function test(){
  for(var i=1;i<3;i++){ 
    console.log(i);  // 1  2
  }

  console.log(i);  // 3

}

2、let 

//使用let 声明的变量不能重复声明

{
  let a = 1;
  let a = 2;  
console.log(a) // 报错
}

3、 const 


function test(){        
  
  //  使用const 声明的变量必须赋值
  const w;   
  w = 123 ;
  console.log (w) // 报错

}

function test(){        
  

  // 使用 const 声明的变量如果为数值,则不可修改
  const PI=3.1415926;   
  PI = 66;
  console.log (PI)  //  报错, 'PI' is read-only 

  
}
function test(){

  // 但是如果声明的是对象,因为对象是引用类型,返回值为对象内存的指针,声明的这个对象
  // 对象存储的是指针,指针是不变的,对象的内容是可以改变的
  const k={           
    a:6                 
  }
  k.b=8;
  console.log(k);  // 输出的值为 6   8
}

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66478.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!