非常教程

JavaScript参考手册

错误 | Errors

TypeError

TypeError(类型错误) 对象用来表示值的类型非预期类型时发生的错误。

语法

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

参数

message 消息可选. 描述此错误fileName 文件名可选. 引起该异常的代码所在的文件的名字。lineNumber 行号可选. 引起该异常的代码的行号。

描述

当传入函数的操作数参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误。

属性

TypeError.prototype允许为一个 TypeError 类型错误附加属性。

方法

全局 TypeError 不包含任何方法,不过,它将从原型链中继承一些方法。

TypeError实例

属性

TypeError.prototype.constructorSpecifies the function that created an instance's prototype.

TypeError.prototype.messageError message. Although ECMA-262 specifies thatTypeErrorshould provide its ownmessageproperty, inSpiderMonkey, it inheritsError.prototype.message.

TypeError.prototype.nameError name. Inherited fromError.

TypeError.prototype.fileNamePath to file that raised this error. Inherited fromError.

TypeError.prototype.lineNumberLine number in file that raised this error. Inherited fromError.

TypeError.prototype.columnNumberColumn number in line that raised this error. Inherited fromError.

TypeError.prototype.stackStack trace. Inherited fromError.

方法

尽管TypeError不包含任何自己的方法, 但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"
}

创建一个类型错误

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"
}

规范

Specification

Status

Comment

ECMAScript 3rd Edition (ECMA-262)The definition of 'TypeError' in that specification.

Standard

Initial definition

ECMAScript 5.1 (ECMA-262)The definition of 'TypeError' in that specification.

Standard

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'TypeError' in that specification.

Standard

ECMAScript Latest Draft (ECMA-262)The definition of 'TypeError' in that specification.

Living Standard

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

错误 | Errors相关

1.Error
2.error.message
3.error.name
4.Error.prototype
5.error.toString
6.Errors
7.Errors: Already has pragma
8.Errors: Array sort argument
9.Errors: Bad octal
10.Errors: Bad radix
11.Errors: Bad regexp flag
12.Errors: Bad return or yield
13.Errors: Called on incompatible type
14.Errors: Cant access lexical declaration before init
15.Errors: Cant define property object not extensible
16.Errors: Cant delete
17.Errors: Cant redefine property
18.Errors: Cyclic object value
19.Errors: Dead object
20.Errors: Delete in strict mode
21.Errors: Deprecated caller or arguments usage
22.Errors: Deprecated expression closures
23.Errors: Deprecated octal
24.Errors: Deprecated source map pragma
25.Errors: Deprecated String generics
26.Errors: Deprecated toLocaleFormat
27.Errors: Equal as assign
28.Errors: For-each-in loops are deprecated
29.Errors: Getter only
30.Errors: Identifier after number
31.Errors: Illegal character
32.Errors: in operator no object
33.Errors: Invalid array length
34.Errors: Invalid assignment left-hand side
35.Errors: Invalid const assignment
36.Errors: Invalid date
37.Errors: Invalid for-in initializer
38.Errors: Invalid for-of initializer
39.Errors: JSON bad parse
40.Errors: Malformed formal parameter
41.Errors: Malformed URI
42.Errors: Missing bracket after list
43.Errors: Missing colon after property id
44.Errors: Missing curly after function body
45.Errors: Missing curly after property list
46.Errors: Missing formal parameter
47.Errors: Missing initializer in const
48.Errors: Missing name after dot operator
49.Errors: Missing parenthesis after argument list
50.Errors: Missing parenthesis after condition
51.Errors: Missing semicolon before statement
52.Errors: More arguments needed
53.Errors: Negative repetition count
54.Errors: No non-null object
55.Errors: No properties
56.Errors: No variable name
57.Errors: Non configurable array element
58.Errors: Not a codepoint
59.Errors: Not a constructor
60.Errors: Not a function
61.Errors: Not defined
62.Errors: Precision range
63.Errors: Property access denied
64.Errors: Read-only
65.Errors: Redeclared parameter
66.Errors: Reserved identifier
67.Errors: Resulting string too large
68.Errors: Stmt after return
69.Errors: Strict Non Simple Params
70.Errors: Too much recursion
71.Errors: Typed array invalid arguments
72.Errors: Undeclared var
73.Errors: Undefined prop
74.Errors: Unexpected token
75.Errors: Unexpected type
76.Errors: Unnamed function statement
77.Errors: Unterminated string literal
78.Errors: Var hides argument
79.EvalError
80.EvalError.prototype
81.RangeError
82.RangeError.prototype
83.ReferenceError
84.ReferenceError.prototype
85.SyntaxError
86.SyntaxError.prototype
87.TypeError.prototype
88.URIError
89.URIError.prototype
JavaScript

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络