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 相关文章推荐
html组件不可输入(只读)同时任何组件都有效
Apr 01 Javascript
多个checkbox被选中时如何判断是否有自己想要的
Sep 22 Javascript
浅谈jQuery异步对象(XMLHttpRequest)
Nov 17 Javascript
JavaScript实现动画打开半透明提示层的方法
Apr 21 Javascript
JavaScript中的toDateString()方法使用详解
Jun 12 Javascript
jQuery+css实现的切换图片功能代码
Jan 27 Javascript
js实现的在线调色板功能完整实例
Dec 21 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 Javascript
javascript实现前端input密码输入强度验证
Jun 24 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
Aug 14 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实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
JQuery animate动画应用示例
2019/05/14 jQuery
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
用pycharm开发django项目示例代码
2018/10/24 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
python中如何使用虚拟环境
2020/10/14 Python
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
酒店司机岗位职责
2013/12/14 职场文书
入党思想汇报
2014/01/05 职场文书
平民服装店创业计划书
2014/01/17 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
运动会宣传口号
2014/06/09 职场文书
课外活动总结范文
2014/07/09 职场文书
社区两委对照检查材料
2014/08/23 职场文书
出租车拒载检讨书
2015/01/28 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL