這篇“es6中static修飾符指的是什么”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“es6中static修飾符指的是什么”文章吧。
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以上就是關于“es6中static修飾符指的是什么”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。