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 相关文章推荐
jquery简单体验
Jan 10 Javascript
初窥JQuery(一)jquery选择符 必备知识点
Nov 25 Javascript
js中函数声明与函数表达式
Jun 03 Javascript
JS实现网页上随滚动条滚动的层效果代码
Nov 04 Javascript
谈谈JavaScript中的几种借用方法
Aug 09 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
react中使用swiper的具体方法
May 15 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
JS使用Date对象实时显示当前系统时间简单示例
Aug 23 Javascript
vue路由传参的基本实现方式小结【三种方式】
Feb 05 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 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
模拟flock实现文件锁定
2007/02/14 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
自己用jQuery写了一个图片的马赛克消失效果
2014/05/04 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
JS高级运动实例分析
2016/12/20 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
2017/04/10 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
微信小程序通过js实现瀑布流布局详解
2019/08/28 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
详解Python pygame安装过程笔记
2017/06/05 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
python使用正则筛选信用卡
2019/01/27 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
TensorFlow梯度求解tf.gradients实例
2020/02/04 Python
Python参数传递及收集机制原理解析
2020/06/05 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
群众路线个人对照检查材料2014
2014/09/26 职场文书
教育实习指导教师评语
2014/12/31 职场文书
七一晚会主持词
2015/06/29 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python