This page was translated from English by the community.Learn more and join the MDN Web Docs community.
TypeError: "x" is (not) "y"
Сообщение
TypeError: "x" is (not) "y"Examples:TypeError: "x" is undefinedTypeError: "x" is nullTypeError: "undefined" is not an objectTypeError: "x" is not an object or nullTypeError: "x" is not a symbol
In this article
Тип ошибки
Что случилось?
Встречен неожиданный тип. Это часто случается со значениямиnull илиundefined.
Так же, некоторые методы, такие какObject.create() илиSymbol.keyFor(), требуют определённый тип, который должен быть предоставлен.
Примеры
>Недопустимые случаи
js
// Случаи undefined и null, при которых метод substring не будет работатьvar foo = undefined;foo.substring(1); // TypeError: foo is undefinedvar foo = null;foo.substring(1); // TypeError: foo is null// Некоторые методы могут требовать определённый типvar foo = {};Symbol.keyFor(foo); // TypeError: foo is not a symbolvar foo = "bar";Object.create(foo); // TypeError: "foo" is not an object or nullРешение проблемы
Что бы исправить ошибку пустого указателя вы можете использовать операторtypeof.
js
if (typeof foo !== "undefined") { // Теперь мы знаем, что foo определено.}