ES6 클래스 변수 대안
ES5에서 클래스는 일반적으로 클래스 변수를 포함하는 패턴이 있는 프레임워크를 사용하여 생성됩니다. 그러나 ES6에는 클래스 변수 생성을 위한 기본 메커니즘이 없습니다.
이를 해결하기 위해 다양한 접근 방식이 제안되었지만 완전히 만족스러운 것으로 입증된 것은 없습니다. 예를 들어 ClassConfig 핸들러를 생성하고 별도의 매개변수 객체를 전달하거나 WeakMaps를 사용하는 등을 고려했지만 제한이 있었습니다.
2018년에는 클래스 변수에 대한 3단계 제안이 도입되었습니다. 이 제안에서는 클래스 선언/표현식 내에서 다음 구문을 사용할 수 있습니다.
varName = value
이 구문은 클래스 내에서 변수를 정의합니다. 그러나 제안은 아직 개발 중이며 아직 확정되지 않았습니다.
ES 위키에 따르면 ES6 사양에 클래스 변수를 포함하지 않기로 한 결정은 의도적인 것입니다. 클래스 정의는 해당 멤버가 아닌 클래스의 기능을 선언하기 위한 것입니다. 클래스 정의에 지정된 속성에는 객체 리터럴에 나타나는 것처럼 속성이 할당됩니다.
따라서 클래스 변수를 정의하기 위해 선호되는 접근 방식은 생성자를 사용하는 것입니다.
constructor(){ this.foo = bar }
대안 클래스 선언과 표현식을 통해 보다 간결한 인스턴스 변수를 가능하게 하는 것을 목표로 하는 ES7에 대한 제안이 개발 중입니다. 이 제안은 아직 논의 중이며 아직 확정되지 않았습니다.
위 내용은 ES6 이상에서는 클래스 변수가 어떻게 구현됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!