TypeError
Baseline 廣泛可用 *
TypeError 物件表示操作未能執行的錯誤,通常(但不僅限於)當值不是預期型別時。
當以下情況發生時,可能會丟擲 TypeError:
- 傳遞給函式的運算數或引數與該運算子或函式預期的型別不相容;或
- 嘗試修改無法更改的值時;或
- 嘗試以不適當的方式使用值時。
TypeError 是一個 可序列化的物件,因此可以使用 structuredClone() 進行克隆,或者使用 postMessage() 在 Workers 之間複製。
TypeError 是 Error 的子類。
建構函式
TypeError()-
建立一個新的
TypeError物件。
例項屬性
還繼承了其父級 Error 的例項屬性。.
這些屬性定義在 TypeError.prototype 上,並被所有 TypeError 例項共享。
TypeError.prototype.constructor-
建立例項物件的建構函式。對於
TypeError例項,初始值為TypeError建構函式。 TypeError.prototype.name-
表示錯誤的型別名稱。對於
TypeError.prototype.name,初始值為"TypeError"。
例項方法
繼承了其父級 Error 的例項方法。.
示例
捕獲 TypeError
js
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.stack); // Stack of the error
}
建立 TypeError
js
try {
throw new TypeError("Hello");
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
規範
| 規範 |
|---|
| ECMAScript® 2026 語言規範 # sec-native-error-types-used-in-this-standard-typeerror |
瀏覽器相容性
載入中…