美文网首页前端大讲堂
如何创建不可变对象

如何创建不可变对象

作者: 前端大课堂 | 来源:发表于2019-08-04 14:25 被阅读0次

module.exports = function deepFreeze (o) {

    Object.freeze(o);

    Object.getOwnPropertyNames(o).forEach(function (prop) {

        if (o.hasOwnProperty(prop) && o[prop] !== null && (typeof o[prop] === "object" || typeof o[prop] === "function")

                && !Object.isFrozen(o[prop])) {

            deepFreeze(o[prop]);

        }

    });

    return o;

}

相关文章

  • 如何创建不可变对象

    module.exports = function deepFreeze (o) {Object.freeze(o...

  • 关于 String

    1. String 不可变 不可变对象对象在创建完成之后,其状态不能再被改变,则该对象即为不可变对象 对象不可变具...

  • 慕课网高并发实战(六)- 线程安全策略

    不可变对象 不可变对象需要满足的条件 对象创建以后其状态就不能修改 对象所有域都是final类型 对象是正确创建的...

  • NSString copy strong

    从本类及其子类两方面分析:可创建可变对象和不可变对象两种 以上结果可见:不可变字符对象,strong copy均不...

  • Java线程安全策略与多线程并发最佳实践

    线程安全策略 不可变对象 不可变对象(Immutable Objects)是指对象一旦被创建它的状态(对象的数据,...

  • Java面试

    什么是不可变对象 不可变对象是指对象一旦被创建,状态就不能再改变。任何修改都会创建一个新的对象,如String,I...

  • 不变性

    不可变对象一定是线程安全的 那么什么是不可变对象呢? 当满足一下条件时,对象才是不可变的。 对象创建以后其状态就不...

  • 线程安全策略

    不可变对象 对象创建以后其状态就不能修改 对象所有域是final类型 对象是正确的创建的(在对象创建期间,this...

  • 06章 线程安全策略

    不可变对象 对象创建以后其状态就不能修改对象所有域都是final类型对象是正确创建的(在对象创建期间,this引用...

  • 8 线程安全策略

    1️⃣不可变对象 1. 不可变对象需要满足的条件:① 对象创建后其状态就不能修改;② 对象所有域都是final类型...

网友评论

    本文标题:如何创建不可变对象

    本文链接:https://www.haomeiwen.com/subject/jyqydctx.html