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 相关文章推荐
javascript下string.format函数补充
Aug 24 Javascript
Windows 系统下安装和部署Egret的开发环境
Jul 31 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
Jun 04 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
Jun 07 Javascript
js仿腾讯QQ的web登陆界面
Aug 19 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
详解vue-resource promise兼容性问题
Jun 20 Javascript
JS动态修改网页body的背景色实例代码
Oct 07 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
原生js实现购物车功能
Sep 23 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 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
PHP Error与Logging函数的深入理解
2013/06/03 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
javascript-表格排序(降序/反序)实现介绍(附图)
2013/05/30 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
2015/09/15 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
Python 命令行参数sys.argv
2008/09/06 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python中 map()函数的用法详解
2018/07/10 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
python re的findall和finditer的区别详解
2020/11/15 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
《菜园里》教学反思
2014/04/17 职场文书
应届生求职自荐信
2014/07/04 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
开票员岗位职责
2015/02/12 职场文书
三八节活动主持词
2015/07/04 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
JavaScript实现简单计时器
2021/06/22 Javascript