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([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 (ECMA-262)
The definition of 'NativeError constructor' in that specification.

Browser compatibility

BCD tables only load in the browser

See also