上級 › Object.freeze()は1階層しか凍結しない(浅い凍結) › パターン3
Object.freeze()は1階層しか凍結しない(浅い凍結)
Object.freeze()はオブジェクト自身の直下のプロパティの再代入・追加・削除だけを禁止します。
1 function isDeeplyFrozen(obj) { 2 return Object.isFrozen(obj) && Object.isFrozen(______________); ^ 3 } 4 const profile = Object.freeze({ name: "Al", social: { twitter: "@al" } }); 5 console.log(isDeeplyFrozen(profile));
出力: true期待: false (エラーにはなりません)
空欄を埋めて実行を通す
profileは凍結されていても、ネストしたsocialオブジェクトは別物として扱われ、凍結されていません。
次の問題