Съобщение

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

Примери:
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.

Какво се обърка?

Върнатият тип не отговаря на очакванията. Това се случва често при върната стойност undefined или null.

Някои методи като Object.create() или Symbol.keyFor() освен това изискват да им бъде предоставен определен тип.

Примери

Случаи, предизвикващи грешката

// Случаи, при които методът substring няма да работи.
// Такива са undefined и null.
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

Поправяне на грешката

За да оправите грешката в случай на указател, сочещ към стойност undefined или null, можете да използвате оператора typeof.

if (typeof foo !== 'undefined') {
  // Сега знаем, че foo има определена стойност
  // и можем да продължим.
}

Вижте също

Етикети за документа и сътрудници

Етикети: 
 Допринесли за тази страница: stoyanster, kberov
 Последно обновяване от: stoyanster,