MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/a3e7b5301fea

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

Тип ошибки

TypeError.

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

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

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

Примеры

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

// Случаи 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.

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

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

Метки документа и участники

 Внесли вклад в эту страницу: DanyaSWorlD
 Обновлялась последний раз: DanyaSWorlD,