javascript エラー「TypeError: Unable to delete property.」の解決方法

javascript エラー「TypeError: Unable to delete property.」の解決方法

javascriptで、エラー「TypeError: Attempted to assign to readonly property.」が発生した場合の原因と解決方法を記述してます。

環境

  • OS macOS Big Sur
  • ブラウザ safari 15.0

エラー内容

以下のコード実行時に発生。

'use strict';

let obj = {name: 'tanaka', age: 15};

Object.freeze(obj);

delete obj.age;

エラーメッセージ
※このエラーは「use strict」を使用した厳格モードのみで発生します。

TypeError: Unable to delete property.

画像

原因

編集禁止する「freeze」を使用後に、削除しようとしているため

解決方法

削除するなら「freeze」を使用前に削除する

'use strict';

let obj = {name: 'tanaka', age: 15};

delete obj.age;

Object.freeze(obj);