Code Fix

上級Object.freeze()は1階層しか凍結しない(浅い凍結) › パターン2

Object.freeze()は1階層しか凍結しない(浅い凍結)

Object.freeze()はオブジェクト自身の直下のプロパティの再代入・追加・削除だけを禁止します。

 1  function isDeeplyFrozen(obj) {
 2    return Object.isFrozen(obj) && Object.isFrozen(_______________);
                                                            ^
 3  }
 4  const settings = Object.freeze({ theme: "dark", limits: { max: 10 } });
 5  console.log(isDeeplyFrozen(settings));
出力: true期待: false (エラーにはなりません)

空欄を埋めて実行を通す

広告
広告スロット(未設定)

Object.freeze()は1階層しか凍結しない(浅い凍結)

プロパティの値がオブジェクトである場合、そのネストしたオブジェクトは凍結されず、自由に変更できてしまいます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)