Object.freeze()方法

说明:

Object.freeze()方法接收一个参数,如果此参数是一个对象,则此方法把这个对象冻结,如果是其他类型则不会报错,无影响。

被冻结的对象不能修改、添加、删除其属性或者属性值

let obj = {"a":5};

Object.freeze(obj); //return 此obj

obj.a = 3;  //不会报错

console.log(obj); //仍然是 {"a":5}

另外,freeze冻结的是堆内存中的值,和栈中的引用无关。

//接上面代码

obj = 2; //这是可以成功的

用处:

一个大的数据对象里,在你确信它不需要改变的时候,你可以给他freeze(),可以大大的增加性能。

也可用作冻结线上的配置文件中的对象,以防有人误改。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,187评论 6 13
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,665评论 0 5
  • 此文章用于归纳Object的所有方法 在JavaScript中,object是所有对象的基础(原型链的顶端),所以...
    moonburn阅读 668评论 0 5
  • 首先一个是对JS中Object的理解:JavaScript中函数是一等公民,写在代码中的 Array/Object...
    皮皮坤666阅读 1,717评论 0 3
  • 第一章 错误处理: 错误: 程序运行过程中,导致程序无法正常执行的现象(即bug) 现象: 程序一旦出错,默认会报...
    fastwe阅读 1,151评论 0 1