Symbol.hasInstance 屬性

admin發表於2017-04-24

物件的Symbol.hasInstance屬性,指向一個內部方法。

當物件使用instanceof運算子,判斷是否為該物件的例項時,會呼叫這個方法。

更多關於Symbol的內容可以參閱JavaScript Symbol一章節。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
class Antzone {
  [Symbol.hasInstance](foo) {
    return foo instanceof Array;
  }
}
console.log([4,"螞蟻部落","青島市南區"] instanceof new Antzone)

當判斷陣列是否是類Antzone的物件例項時,會自動呼叫類的Symbol.hasInstance方法。