TypeError: "x" is not a non-null object(Тип ошибки: "x" не является ненулевым объектом)
Сообщения
TypeError: недопустимый дескриптор свойства {x} (Edge) TypeError: "x" не является ненулевым объектом (Firefox) TypeError: описание свойства должно быть объектом: "x" (Chrome) TypeError: недопустимое значение, используемое в слабом наборе (Chrome)
Тип ошибки
Что пошло не так?
Объект где-то ожидался и не был предоставлен. 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 });