MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

TypeError: "x" is (not) "y"

錯誤類型

TypeError

哪裡錯了?

有一個意想不到的類型。這與 undefinednull 值經常發生。

另外,某些方法,如 Object.create()Symbol.keyFor() 要求特定類型,即必須提供。

實例

無效的情況下

// undefined 和 null 的情況下在其上的子方法不起作用
var foo = undefined;
foo.substring(1); // TypeError: foo is undefined

var foo = null;
foo.substring(1); // TypeError: foo is null


// 某些方法可能要求特定類型
var foo = {}
Symbol.keyFor(foo); // TypeError: foo is not a symbol

var foo = "bar"
Object.create(foo); // TypeError: "foo" is not an object or null

修復問題

為了解決空指針 undefinednull 值,可以使用 typeof 運算符,例如。 operator, for example.

if (typeof foo !== 'undefined') {
  // 現在我們知道foo的定義,我們是好去。
}

參見

文件標籤與貢獻者

 此頁面的貢獻者: iigmir, kimi1111
 最近更新: iigmir,