如何创建不可变对象

【精选秒杀】热卖云产品限量抢,云服务器20元/月起,服务稳定,价格更优

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;

}


关注微信公众号

码中人 微信公众号