← 返回首页
TypeError: "x" is (not) "y" - JavaScript | MDN

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

TypeError: "x" is (not) "y"

Сообщение

TypeError: "x" is (not) "y" Examples: TypeError: "x" is undefined TypeError: "x" is null TypeError: "undefined" is not an object TypeError: "x" is not an object or null TypeError: "x" is not a symbol

In this article

Тип ошибки

TypeError.

Что случилось?

Встречен неожиданный тип. Это часто случается со значениями null или undefined.

Так же, некоторые методы, такие как Object.create() или Symbol.keyFor(), требуют определённый тип, который должен быть предоставлен.

Примеры

Недопустимые случаи

js
// Случаи undefined и null, при которых метод substring не будет работать var foo = undefined; foo.substring(1); // TypeError: foo is undefined var foo = null; foo.substring(1); // TypeError: foo is null // Некоторые методы могут требовать определённый тип var foo = {}; Symbol.keyFor(foo); // TypeError: foo is not a symbol var foo = "bar"; Object.create(foo); // TypeError: "foo" is not an object or null

Решение проблемы

Что бы исправить ошибку пустого указателя вы можете использовать оператор typeof.

js
if (typeof foo !== "undefined") { // Теперь мы знаем, что foo определено. }

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