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 相关文章推荐
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
javascript时间函数大全
Jun 30 Javascript
直接拿来用的15个jQuery代码片段
Sep 23 Javascript
利用jQuery设计一个简单的web音乐播放器的实例分享
Mar 08 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
Bootstrap栅格系统简单实现代码
Mar 06 Javascript
利用vue + element实现表格分页和前端搜索的方法
Dec 25 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 Javascript
js+canvas实现两张图片合并成一张图片的方法
Nov 01 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 Javascript
jquery实现广告上下滚动效果
Mar 04 jQuery
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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
让PHP以ROOT权限执行系统命令的方法
2011/02/10 PHP
PHP禁止页面缓存的代码
2011/10/23 PHP
解析php中call_user_func_array的作用
2013/06/07 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
JS的事件绑定深入认识
2014/06/26 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python实现井字棋游戏
2020/03/30 Python
python 字典(dict)按键和值排序
2016/06/28 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
LocalStorage记住用户和密码功能
2017/07/24 HTML / CSS
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
消防安全宣传标语
2014/06/07 职场文书
新教师个人总结
2015/02/06 职场文书
医德医风自我评价2015
2015/03/03 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python