es6中static修飾符是修飾成員變數和成員方法的意思,static是靜態的意思,也即定義靜態方法;static修飾成員變數表示該成員變數在記憶體中只儲存一份,可以被共享存取和修改,類別透過static定義靜態方法。
本教學操作環境:windows10系統、ECMAScript 6.0版本、Dell G3電腦。
static是靜態意思,可以修飾成員變數和成員方法
static修飾成員變數表示該成員變數在記憶體中只儲存一份,可以被共享訪問,修改。
類別(class)透過 static 關鍵字定義靜態方法。不能在類別的實例上呼叫靜態方法,而應該透過類別本身呼叫。這些通常是實用程式方法,例如建立或複製物件的功能。
上述說法較為簡單,想要搞清楚需要弄清楚幾個概念:
在物件導向程式設計的過程中,通常把用類別建立物件的過程稱為實例化。類別就是實例的原型。類別是靜態的,不佔用進程內存,而實例擁有動態內存。
通常情況下,我們會new一個test(),在類別test()中定義的方法,都會被實例繼承。但在一個方法前面加上static的關鍵字,就表示該方法不會被實例繼承,而是直接透過類別來調用,這稱為靜態方法。
範例如下:
首先我們建立了父類別Father,在這個類別中建立了靜態方法testMethod()。當我們直接透過Father類別呼叫方法時,可以呼叫成功。但是我們透過類別建立一個實例Child,靜態方法就不會繼承在這個實例上,這個方法當然就不會呼叫成功。
class Father { static testMethod() { return 'hello'; } } Father.testMethod() // output: 'hello' var Child = new Father(); Child.testMethod() // output: TypeError: Child.testMethod is not a function
【相關推薦:javascript影片教學、web前端】
以上是es6中static修飾符是啥意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!