>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 정적 변수는 어떻게 선언되고 사용됩니까?

JavaScript에서 정적 변수는 어떻게 선언되고 사용됩니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-06 17:14:14972검색

How are Static Variables Declared and Used in JavaScript?

JavaScript에서 정적 변수 선언

Java와 같은 객체 지향 프로그래밍 언어에서 정적 변수는 일반적으로 클래스에 속하고 모든 사용자가 공유하는 멤버를 선언하는 데 사용됩니다. 해당 클래스의 인스턴스. 이 기사에서는 이 개념이 JavaScript에서 어떻게 구현되는지 살펴봅니다.

ES5의 정적 변수

프로토타입 기반 상속 모델을 따르는 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 클래스의 정적 변수

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.