Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. JavaScript
  3. JavaScript リファレンス
  4. JavaScript エラーリファレンス
  5. SyntaxError: applying the 'delete' operator to an unqualified name is deprecated

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

SyntaxError: applying the 'delete' operator to an unqualified name is deprecated

JavaScript のstrict モード専用の例外 "applying the 'delete' operator to an unqualified name is deprecated" は、delete 演算子を用いて変数を削除しようとしたときに発生します。

エラーメッセージ

js
SyntaxError: Calling delete on expression not allowed in strict mode (Edge)SyntaxError: applying the 'delete' operator to an unqualified name is deprecated (Firefox)SyntaxError: Delete of an unqualified identifier in strict mode. (Chrome)

エラータイプ

strict モード でのみSyntaxError

何がうまくいかなかったのか?

JavaScript では、通常の変数をdelete 演算子で削除できません。strict モードで、変数を削除しようとするとエラーが発生し、削除できません。

delete 演算子は、オブジェクトのプロパティのみ削除できます。オブジェクトプロパティは、設定可能な場合は "修飾" されます。

よくある予想とは異なり、delete 演算子は直接的なメモリーの解放とは関係ありません。メモリー管理は、参照の解放によって間接的に行われます。メモリー管理ページとdelete 演算子ページで詳細を確認してください。

このエラーは、strict mode モードでのみ発生します。非 strict モードでは、演算子はただfalse を返します。

変数の内容の解放

JavaScript ではプレーンな変数を削除しようとすると動作せず、 strict モードだとエラーをスローします。

js
"use strict";var x;// ...delete x;// SyntaxError: applying the 'delete' operator to an unqualified name// is deprecated

変数のコンテンツを解放するには、null を設定してください。

js
"use strict";var x;// ...x = null;// x can be garbage collected

関連項目

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp