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)
Тип ошибки
Что пошло не так?
Где-то ожидается объект, но он не был предоставлен. 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 });
См. также
© 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