Java와 같은 객체 지향 프로그래밍 언어에서 정적 변수는 일반적으로 클래스에 속하고 모든 사용자가 공유하는 멤버를 선언하는 데 사용됩니다. 해당 클래스의 인스턴스. 이 기사에서는 이 개념이 JavaScript에서 어떻게 구현되는지 살펴봅니다.
프로토타입 기반 상속 모델을 따르는 JavaScript에서는 함수가 생성자 역할을 합니다. 정적 속성은 함수 개체와 연결되어 있으므로 생성자 함수 자체 내에서 정의할 수 있습니다.
function MyClass() { // Private variable var privateVariable = "foo"; // Public variable this.publicVariable = "bar"; // Public method this.privilegedMethod = function() { alert(privateVariable); }; } // Static variable shared by all instances MyClass.staticProperty = "baz";
이 예에서 staticProperty는 MyClass 함수 내에서 정의되며 클래스의 모든 인스턴스에서 액세스할 수 있습니다.
ES6에서는 클래스 선언을 위한 class 키워드를 도입하여 프로토타입 기반 구문 설탕을 제공합니다. 상속. 정적 속성과 메서드는 static 키워드를 사용하여 정의할 수 있습니다.
class MyClass { constructor() { // Private variable const privateVariable = 'private value'; // Public property this.publicVariable = 'public value'; // Public method with access to private variable this.privilegedMethod = function() { console.log(privateVariable); }; } // Prototype methods publicMethod() { console.log(this.publicVariable); } // Static property shared by all instances static staticProperty = 'static value'; // Static method static staticMethod() { console.log(this.staticProperty); } }
여기서 staticProperty와 staticMethod는 MyClass 클래스의 정적 멤버로 정의되어 있어 인스턴스를 생성하지 않고도 액세스할 수 있습니다.
위 내용은 JavaScript에서 정적 변수는 어떻게 선언되고 사용됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!