TypeError() constructor

The TypeError() constructor creates a new error when an operation could not be performed, typically (but not exclusively) when a value is not of the expected type.

Syntax

new TypeError()
new TypeError(message)
new TypeError(message, fileName)
new TypeError(message, fileName, lineNumber)

Parameters

message Optional

Human-readable description of the error

fileName Optional

The name of the file containing the code that caused the exception

lineNumber Optional

The line number of the code that caused the exception

Examples

Catching a TypeError

try {
  null.f()
} catch (e) {
  console.log(e instanceof TypeError)  // true
  console.log(e.message)               // "null has no properties"
  console.log(e.name)                  // "TypeError"
  console.log(e.fileName)              // "Scratchpad/1"
  console.log(e.lineNumber)            // 2
  console.log(e.columnNumber)          // 2
  console.log(e.stack)                 // "@Scratchpad/2:2:3\n"
}

Creating a TypeError

try {
  throw new TypeError('Hello', "someFile.js", 10)
} catch (e) {
  console.log(e instanceof TypeError)  // true
  console.log(e.message)               // "Hello"
  console.log(e.name)                  // "TypeError"
  console.log(e.fileName)              // "someFile.js"
  console.log(e.lineNumber)            // 10
  console.log(e.columnNumber)          // 0
  console.log(e.stack)                 // "@Scratchpad/2:2:9\n"
}

Specifications

Specification
ECMAScript Language Specification (ECMAScript)
# sec-nativeerror-constructors

Browser compatibility

BCD tables only load in the browser

See also