클래스 내부에서 프로퍼티를 정의할 때, 값을 할당하는 방법에 대해 기록한다.
첫번째 방법은 프로퍼티를 정의하는 동시에 값을 초기화하는 것이다.
두번째 방법은 클래스 내부에 프로퍼티를 정의하고, 생성자 함수에서 값을 할당하는 것이다.
// 첫번째
class Test {
constructor() {
this.words = {};
}
}
// 두번째
class Test {
constructor() {
this.words = null;
}
someMethod() {
this.words = {};
}
}
첫번째 방식은 클래스 생성 시점에 프로퍼티가 초기화되기 때문에, 인스턴스 생성 시점에 항상 초기값을 가지고 시작한다. 따라서 인스턴스 생성 후에 프로퍼티 값을 변경해도, 다음 인스턴스 생성 시점에서는 다시 초기값으로 돌아간다. 코드가 간결해지고 가독성이 좋아지는 장점이 있지만, 모든 경우에 사용할 수는 없다.
두번째 방식은 생성자 함수 내부에서 프로퍼티를 초기화하기 때문에, 인스턴스 생성 시점에 초기값이 아닌 다른 값으로 초기화할 수 있다. 따라서 인스턴스 생성 후에 프로퍼티 값을 변경해도, 다음 인스턴스 생성 시점에서는 그 변경된 값이 유지된다. 이 경우 프로퍼티가 다른 값을 동적으로 참조하여 초기화해야 하는 경우 활용할 수 있다. 생성자 함수 내부에서 다양한 구문을 사용할 수 있기 때문에 더 많은 기능을 구현할 수 있습니다.