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