--- title: Reflect.deleteProperty() slug: Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty translation_of: Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty ---
{{JSRef}}

Статический метод Reflect.deleteProperty() позволяет удалять свойства из объекта. Реализация данной функции схожа с оператором delete.

{{EmbedInteractiveExample("pages/js/reflect-deleteproperty.html", "taller")}}

Синтаксис

Reflect.deleteProperty(target, propertyKey)

Параметры

target
Целевой объект в котором будет удалено свойство.
propertyKey
Имя удаляемого свойства.

Возвращаемое значение

{{jsxref("Boolean")}} указывающий, было ли свойство успешно удалено.

Исключения

Исключение {{jsxref("TypeError")}}, если target не является {{jsxref("Object")}}.

Описание

Метод Reflect.deleteProperty позволяет вам удалить свойство объекта. Он возвращает {{jsxref("Boolean")}} указывающий, было ли свойство успешно удалено. Он так же идентичен оператору delete без использования строгого режима.

Примеры

Использования Reflect.deleteProperty()

var obj = { x: 1, y: 2 };
Reflect.deleteProperty(obj, 'x'); // true
obj; // { y: 2 }

var arr = [1, 2, 3, 4, 5];
Reflect.deleteProperty(arr, '3'); // true
arr; // [1, 2, 3, , 5]

// Возвращает true даже если такого свойства не существует
Reflect.deleteProperty({}, 'foo'); // true

// Возвращает false если такое свойство ненастраиваемое
Reflect.deleteProperty(Object.freeze({foo: 1}), 'foo'); // false

Спецификации

Specification Status Comment
{{SpecName('ES2015', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}} {{Spec2('ES2015')}} Начальное определение.
{{SpecName('ESDraft', '#sec-reflect.deleteproperty', 'Reflect.deleteProperty')}} {{Spec2('ESDraft')}}  

Совместимость с браузерами

{{Compat("javascript.builtins.Reflect.deleteProperty")}}

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