Spec-Zone.ru › JavaScript

TypeError: "x" не является непустым объектом

Исключение JavaScript "is not a non-null object" возникает, когда где-то ожидается объект, но он не был предоставлен. null не является объектом и не будет работать.

Сообщение

TypeError: Property description must be an object: x (V8-based)
TypeError: Property descriptor must be an object, got "x" (Firefox)
TypeError: Property description must be an object. (Safari)

Тип ошибки

TypeError

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

Где-то ожидается объект, но он не был предоставлен. null не является объектом и не будет работать. В данной ситуации вы должны предоставить корректный объект.

Примеры

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

Когда используются такие методы, как Object.create(), Object.defineProperty() и 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 });

См. также

  • Object.create()
  • Object.defineProperty()
  • Object.defineProperties()

© 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/No_non-null_object

Spec-Zone.ru

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