Spec-Zone.ru › JavaScript

SyntaxError: применение оператора 'delete' к неквалифицированному имени устарело

Исключение JavaScript, возникающее только в строгом режиме, "применение оператора 'delete' к неквалифицированному имени устарело", возникает при попытке удалить переменные с использованием оператора delete.

Сообщение

SyntaxError: Delete of an unqualified identifier in strict mode. (V8-based)
SyntaxError: applying the 'delete' operator to an unqualified name is deprecated (Firefox)
SyntaxError: Cannot delete unqualified property 'a' in strict mode. (Safari)

Тип ошибки

SyntaxError только в строгом режиме.

Что пошло не так?

Обычные переменные в JavaScript не могут быть удалены с помощью оператора delete. В строгом режиме попытка удалить переменную вызовет ошибку и не допускается.

Оператор delete может удалять только свойства объекта. Свойства объекта являются "квалифицированными" (qualified), если они настраиваемые (configurable).

В отличие от распространенного мнения, оператор delete не имеет прямого отношения к освобождению памяти. Управление памятью осуществляется косвенно через разрыв ссылок. Дополнительную информацию смотрите на странице управления памятью и на странице оператора delete.

Эта ошибка возникает только в коде строгого режима. В нестрогом коде операция просто возвращает false.

Примеры

Освобождение содержимого переменной

Попытка удалить обычную переменную вызывает ошибку в строгом режиме:

"use strict";

var x;

// …

delete x;

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

Чтобы освободить содержимое переменной, вы можете присвоить ей null:

"use strict";

var x;

// …

x = null;

// x can be garbage collected

Смотрите также

  • delete
  • Управление памятью
  • TypeError: свойство "x" не настраивается и не может быть удалено

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Delete_in_strict_mode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API