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 IE 与 FF中兼容问题小结
Feb 18 Javascript
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 Javascript
JavaScript声明变量名的语法规则
Jul 10 Javascript
Move.js入门
Feb 08 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
JS实现手写parseInt的方法示例
Sep 24 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
vue路由--网站导航功能详解
Mar 29 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
微信小程序实现写入读取缓存详解
Aug 30 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
可以在线执行PHP代码包装修正版
2008/03/15 PHP
解析thinkphp基本配置 convention.php
2013/06/18 PHP
php使用fputcsv()函数csv文件读写数据的方法
2015/01/06 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python创建xml的方法
2015/03/10 Python
python requests 测试代理ip是否生效
2018/07/25 Python
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
化学教师教学反思
2014/01/17 职场文书
物流业务员岗位职责
2014/02/08 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
离婚协议书范本
2015/01/26 职场文书
党支部考察意见范文
2015/06/02 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
温馨祝福晨语:美丽的一天从我的问候开始
2019/11/28 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python