들어가며
여행을 떠나보면, 언젠가 왜 이 여행을 하려 했을까 하는 생각이 들 때가 있었습니다. 공부를 할 때도 마찬가지였습니다. 자바스크립트를 활용해서 개발하고 있는데, 자바스크립트에 대한 기본은 알고 있는지, 왜 자바스크립트로 개발을 하려고 했는지 이유가 궁금할 때가 있었습니다. 이 고민에 대한 해답을 찾기 위해서는 자바스크립트, Node.js에 대해 자세하게 알아야겠다고 생각했습니다. 이번 기회를 통해 자바스크립트, Node.js에 대해 이해해야겠다고 생각했습니다.
Getter와 Setter
ES2015에서는 향상된 객체 리터럴 표기법을 소개했습니다. 그중에서 setter 및 getter 함수를 제공하기 시작했습니다. 그럼 setter 및 getter 구문을 사용할 수 있는 방법을 살펴보겠습니다.
const person = {
name: "George",
surname: "Boole",
get fullname() {
return this.name + "" + this.surname;
},
set fullname(fullname) {
let parts = fullname.split(" ");
this.name = parts[0];
this.surname = parts[1];
}
};
console.log(person.fullname); // "George Boole"
console.log((person.fullname = "Alan Turing")); // "Alan Turing"
console.log(person.name); // "Alan"
이 예에서 일반적인 속성으로 name과 surname 그리고 set, get 구문을 통해 조작되는 fullname 속성, 이렇게 세 가지 속성을 정의합니다. console.log 호출의 결과에서 알 수 있듯이 연산을 가진 속성에 대해서도 객체 내부의 일반적인 속성들처럼 값을 읽거나 쓸 수 있습니다. 만약 person.fullname에 새로운 값을 할당하면, set 구문이 실행되면서, 내부 프로퍼티의 정보를 바꿀 수 있습니다.
마치며
자바스크립트에 대해 공부하면서, 항상 타입 스크립트를 공부하는 것도 좋지만, 먼저 자바스크립트의 기초부터 제대로 알아야겠다고 생각합니다. 이렇게 기초적인 부분을 습득하다 보면, 어느 순간 타입 스크립트로 넘어갔을 때 훨씬 잘 이해할 수 있으리라 믿습니다.
출처
'JavaScript > 자바스크립트의 기초' 카테고리의 다른 글
[자바스크립트] Promise (0) | 2022.01.25 |
---|---|
[자바스크립트] 비동기 처리와 콜백 함수 (0) | 2022.01.24 |
[자바스크립트] Map, Set, WeakMap, WeakSet (0) | 2022.01.05 |
[자바스크립트] var, let, const의 차이를 알아보자 (feat. TDZ) (0) | 2021.12.15 |
[자바스크립트] parseInt와 Number의 차이 (1) | 2021.09.01 |