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