Tạo Deep freezes an object. Trước hết chúng ta phải xác định được những properties có phải là Object.isFrozen()
Sử dụng Object.keys()
get all properties của một object, sau đó sử dụng Array.prototype.forEach()
lặp lại những properties đó, trong chúng ta sẽ check nếu return về true, còn nếu false thì chúng ta sẽ return Object.freeze()
const deepFreeze = obj => { Object.keys(obj).forEach(prop => { if (obj[prop] === 'object' && !Object.isFrozen(obj[prop])) deepFreeze(v[prop]); }); return Object.freeze(obj); };
Sử dụng deepFreeze()
'use strict'; const o = deepFreeze([1, [2, 3]]); o[0] = 3; // not allowed o[1][0] = 4; // not allowed as well
Like Tips Javascript?
Recommended snippets