ES6中let 和 const 的新特性


Posted in Javascript onSeptember 03, 2018

在javascript中,我们都知道使用var来声明变量。javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量。本文给大家介绍ES6中let 和 const 的特性,具体内容如下所示:

let的特性:

1.不存在变量提升现象:即声明前使用,报ReferenceError。适用于for循环计数器。
2.暂时性死区:即在块级作用域内使用let声明变量,该变量只能在该作用域内使用。
3.不允许重复声明:let声明过的变量不能再次声明,否则报错。

const的特性:

1.不存在变量提升现象。
2.暂时性死区。
3.不可重复声明。
4.声明的是只读常量,声明时必须初始化。
5.本质保存的是内存地址,简单类型数据的值就保存在这个地址中,复合类型数据在这个地址中保存的是一个指针,这个指针指向的对象可以改变,单指针不可改变。

cost foo = {}; 
 // 可以改变foo的属性
 foo.prop = 123;
 foo.prop //123 
 // 不可以使foo指向别的对象
 foo = {}; //TypeError: "foo" is read-only

冻结对象:

// 彻底冻结
var constantize = (obj) => {

  Object.freeze(obj); 

  Object.keys(obj).forEach( (key, i) => {

    if( typeof obj[key] === 'object' ){

     constantize( obj[key] );

    } 
  }); 
}

总结

以上所述是小编给大家介绍的ES6中let 和 const 的特性 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用jscript实现列出安装的软件列表
Jun 18 Javascript
javascript 全等号运算符使用说明
May 31 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
一个不错的仿携程自定义数据下拉选择select
Sep 01 Javascript
javascript实现Email邮件显示与删除功能
Nov 21 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 Javascript
Angular项目如何升级至Angular6步骤全纪录
Sep 03 #Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 #Javascript
前后端如何实现登录token拦截校验详解
Sep 03 #Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 #Javascript
vue 纯js监听滚动条到底部的实例讲解
Sep 03 #Javascript
解决vue.js this.$router.push无效的问题
Sep 03 #Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 #Javascript
You might like
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
php给数组赋值的实例方法
2019/09/26 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
浅析JS运动
2015/12/28 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
python比较2个xml内容的方法
2015/05/11 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
Python 数据结构之堆栈实例代码
2017/01/22 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
python归并排序算法过程实例讲解
2020/11/04 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
教堂婚礼主持词
2014/03/14 职场文书
职位说明书范文
2014/05/07 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
办理收楼委托书范本
2014/10/09 职场文书
教师群众路线心得体会
2014/11/04 职场文书
电影雷锋观后感
2015/06/10 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
Python中else的三种使用场景
2021/06/16 Python
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python