ES6中let 和 const 的新特性

作者:SelinaLuo 时间:2024-05-28 15:41:41 

在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 的特性 网站的支持!

来源:https://www.cnblogs.com/huyang0528/archive/2018/09/03/9579145.html

标签:es6,let,const
0
投稿

猜你喜欢

  • Python实现SMTP发送邮件详细教程

    2021-05-10 03:01:01
  • SQL Server 2008 R2 超详细安装图文教程

    2024-01-24 16:41:12
  • Yahoo!网站性能最佳体验的34条黄金守则—内容

    2008-05-13 12:14:00
  • 详解pytest实现mark标记功能详细介绍

    2022-01-16 23:59:48
  • 小米正式开源 SQL 智能优化与改写工具 SOAR

    2024-01-20 09:34:56
  • 根据表中数据生成insert语句的存储过程

    2008-11-10 12:13:00
  • Python api构建tensorrt加速模型的步骤详解

    2022-03-01 17:21:19
  • Flask 让jsonify返回的json串支持中文显示的方法

    2022-01-23 04:20:31
  • ACCESS数据库转换MYSQL数据库的软件

    2007-09-20 20:06:00
  • Python urllib模块urlopen()与urlretrieve()详解

    2022-01-17 02:32:02
  • ASP使用wsImage组件给图片加水印代码

    2010-06-09 19:23:00
  • Hadoop-3.1.2完全分布式环境搭建过程图文详解(Windows 10)

    2023-08-06 07:04:50
  • django多文件上传,form提交,多对多外键保存的实例

    2023-04-13 04:24:12
  • Python发送http请求解析返回json的实例

    2022-04-11 03:38:28
  • MySQL查询缓存的小知识

    2024-01-22 20:55:29
  • Python基于locals返回作用域字典

    2021-05-17 22:02:43
  • Python中JsonPath提取器和正则提取器

    2022-08-27 14:12:20
  • mysql中find_in_set()函数的使用及in()用法详解

    2024-01-25 18:32:38
  • Python+OpenCV人脸检测原理及示例详解

    2021-07-31 19:31:51
  • CSS.JS文件发布机制的思考

    2009-08-04 13:07:00
  • asp之家 网络编程 m.aspxhome.com