Trusted answers to developer questions

What is an uncaught TypeError in JavaScript?

Get the Learn to Code Starter Pack

Break into tech with the logic & computer science skills you’d learn in a bootcamp or university — at a fraction of the cost. Educative's hand-on curriculum is perfect for new learners hoping to launch a career.

According to the Mozilla website for developer documents, the TypeError object represents an error when a value is not of the expected type.” Uncaught means that the error was not caught in the catch part of the try-catch block.

Code

Let’s go over some examples of the causes of the uncaught type error.

Uncaught TypeError: cannot read property ‘bar’ of null

let val = null;
console.log(val.bar);

Note: null has no properties to read or set.

Uncaught TypeError: cannot set property ‘bar’ of undefined

let val = null;
val.bar = 20;

Note: undefined has no properties to read or set.

Uncaught TypeError: undefined is not a function

let val = null;
console.log(val());
let num = 20;
console.log(num());

Note: undefined is not a function. Similarly, an object, string, array, etc. is not a function either.

Uncaught TypeError: cannot use ‘in’ operator to search for ‘x’ in ‘y’

let val = "Hello from Educative!";
console.log("Hello" in val);

Note: The in operator can only be used to check whether or not ​a property is in an object.

Uncaught TypeError: converting circular structure to JSON

let a = { b: "" };
let b = { a: a };
a.b = b;
JSON.stringify(a);

Note: a contains a reference to b, and vice versa, which makes variable a a circular data structure. JSON.stringify() only works with ​cyclic data structures.

For more details, refer to the official documentation on TypeError.

RELATED TAGS

javascript
typeerror
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?