解密 JavaScript 中的靜態變數
在 JavaScript 中,物件是一等公民,這意味著它們可以擁有屬性和方法。如果您熟悉基於類別的靜態類型語言(例如 Java),您可能遇到過建立與類型而不是實例關聯的變數和方法的概念。
要在JavaScript 中完成此操作,讓我們使用利用構造函數的「經典」方法:
function MyClass () { var privateVariable = "foo"; // Private variable this.publicVariable = "bar"; // Public variable this.privilegedMethod = function () { alert(privateVariable); }; }
這裡,staticProperty 直接在MyClass 物件上定義,使得使用建構子建立的所有實例都可以存取它。然而,重要的是要記住它與這些實例沒有直接連結。
ES6 類別和靜態變數
隨著ES6 類別的引入,聲明靜態變數和方法變得輕而易舉:
class MyClass { constructor() { this.publicVariable = 'public value'; } publicMethod() { console.log(this.publicVariable); } // Static properties shared by all instances static staticProperty = 'static value'; static staticMethod() { console.log(this.staticProperty); } }
在此在範例中,使用static 輕鬆定義staticProperty 和staticMethod關鍵字,允許透過類別本身存取它們。
了解 JavaScript 中靜態變數的細微差別對於建立健全且高效的程式碼至關重要,尤其是在利用其他程式設計範例的概念時。
以上是如何在 JavaScript 中建立和使用靜態變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!