>웹 프론트엔드 >JS 튜토리얼 >JavaScript ES6 클래스에서 개인 속성을 어떻게 만들고 액세스합니까?

JavaScript ES6 클래스에서 개인 속성을 어떻게 만들고 액세스합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-27 08:11:09842검색

How Do I Create and Access Private Properties in JavaScript ES6 Classes?

JavaScript ES6 클래스의 개인 속성

소개

이전 JavaScript 버전에서는 클래스 속성 동일한 클래스 인스턴스 내에서 그리고 다른 인스턴스와 클래스에서 항상 액세스할 수 있습니다. 그러나 ES6이 도입되면서 이제 개인 속성을 생성할 수 있어 클래스 내의 특정 속성에 대한 액세스가 제한됩니다.

개인 속성 생성

개인 속성을 생성하려면 ES6 클래스에서는 속성 이름 앞에 해시(#)를 붙입니다. 이 구문은 속성이 비공개이므로 직접 액세스해서는 안 된다는 것을 나타냅니다.

예를 들어 다음 코드를 살펴보세요.

class Something {
  constructor() {
    this.#property = "test"; // private property
  }
}

이 예에서는 속성 속성 앞에 해시가 붙습니다. , 수업 외부에서는 접근할 수 없도록 만듭니다.

비공개 접근 속성

개인 속성은 클래스 외부에서 직접 액세스할 수 없습니다. 그러나 getter 메소드를 사용하여 비공개 속성의 값을 검색할 수 있습니다.

예를 들어 이전 예에서 속성 비공개 값에 액세스하려면 다음 getter 메소드를 클래스에 추가할 수 있습니다.

class Something {
  constructor() {
    this.#property = "test"; // private property
  }

  get property() {
    return this.#property;
  }
}

이제 속성 getter 메서드를 사용하여 개인 속성 값에 액세스할 수 있습니다.

const instance = new Something();
console.log(instance.property); // Output: "test"

추가 참고

  • 동일한 해시 구문을 사용하여 전용 메서드를 생성할 수도 있습니다.
  • 개인 속성과 메서드는 열거할 수 없습니다(즉, 객체를 반복할 때 표시되지 않습니다). 속성).
  • ES2023부터 대부분의 경우 비공개 필드가 지원됩니다. 브라우저.

위 내용은 JavaScript ES6 클래스에서 개인 속성을 어떻게 만들고 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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