class中的static
最近在學習手寫 promise 中,産生了一些關于 class 中 static 的疑問,是以在此記錄下。在聲明 promise 中,聲明了兩個 resolve 和 reject,一個是普通的屬性,一個是 static 屬性。
在 class 内部通過了 this.resolve 調用了 resolve 屬性,而在外面使用 promise.resolve()來調用了 static resolve。這兩者存在什麼差別。
下面舉個簡單的例子來說明:
方法
屬性
在class中對于執行個體屬性和方法與靜态屬性和方法的調用存在差異,對于執行個體的屬性和方法可以通過this來調用,然後執行個體的屬性以及方法都可以通過繼承來獲得,而靜态的屬性和方法則必須通過類名來進行調用。并且不會被繼承。