From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../reference/errors/no_non-null_object/index.html | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 files/ru/web/javascript/reference/errors/no_non-null_object/index.html (limited to 'files/ru/web/javascript/reference/errors/no_non-null_object') diff --git a/files/ru/web/javascript/reference/errors/no_non-null_object/index.html b/files/ru/web/javascript/reference/errors/no_non-null_object/index.html new file mode 100644 index 0000000000..c00c5ff571 --- /dev/null +++ b/files/ru/web/javascript/reference/errors/no_non-null_object/index.html @@ -0,0 +1,65 @@ +--- +title: >- + TypeError: "x" is not a non-null object(Тип ошибки: "x" не является ненулевым + объектом) +slug: Web/JavaScript/Reference/Errors/No_non-null_object +translation_of: Web/JavaScript/Reference/Errors/No_non-null_object +--- +
{{JSSidebar("Errors")}}
+ +

Сообщения

+ +
TypeError: недопустимый дескриптор свойства {x} (Edge)
+TypeError: "x" не является ненулевым объектом (Firefox)
+TypeError: описание свойства должно быть объектом: "x" (Chrome)
+TypeError: недопустимое значение, используемое в слабом наборе (Chrome)
+
+
+ +

Тип ошибки

+ +

{{jsxref("TypeError")}}

+ +

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

+ +

Объект где-то ожидался и не был предоставлен. {{jsxref("null")}} не является объектом и не будет работать. Вы должны обеспечить надлежащий объект в данной ситуации.

+ +

Примеры

+ +

Ожидается дескриптор свойства

+ +

Когда такие методы, как {{jsxref("Object.create()")}} или {{jsxref("object.defineProperty()")}} и {{jsxref("object.defineProperties()")}} используются, дополнительный параметр дескриптора ожидает объект дескриптора свойства. Если не указать объект (например, просто число), возникнет ошибка:

+ +
Object.defineProperty({}, 'key', 1);
+// TypeError: 1 is not a non-null object
+
+Object.defineProperty({}, 'key', null);
+// TypeError: null is not a non-null object
+
+ +

Допустимый объект дескриптора свойства может выглядеть следующим образом:

+ +
Object.defineProperty({}, 'key', { value: 'foo', writable: false });
+
+ +

СлабаяКарта и СлабыйСет объектов требуют ключей объектов

+ +

{{jsxref("WeakMap")}} and {{jsxref("WeakSet")}} объекты хранят ключи объектов. Вы не можете использовать другие типы ключей.

+ +
var ws = new WeakSet();
+ws.add('foo');
+// TypeError: "foo" is not a non-null object
+ +

Создание обьекта вместо:

+ +
ws.add({foo: 'bar'});
+ws.add(window);
+
+ +

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

+ + -- cgit v1.2.3-54-g00ecf