유데미 강의 JavaScript 완벽 가이드 : 초급 + 고급 마스터 과정을 들으면서 자바스크립트를 다시 한 번 익히는 중이다. 계속되는 포스팅에서 강의를 듣고 미처 몰랐던 부분, 심화 이해가 필요한 부분에 대해 주제별로 간단하게 기록하겠다.
객체는 많이 익숙해서 메모한 부분이 많지 않다.
문자열 키의 경우 프로퍼티를 추가한 순서대로 정렬.
만약 키가 숫자인 경우는 오름차순으로 자동 정렬.
https://velog.io/@raquim47/allofthis
const person = {name: 'Max'};
const person2 = Object.assign({}, person);
get과 set은 객체 안의 특정 속성에 접근하거나 값을 변경할 때, 사용자 지정 동작을 정의할 수 있게 해주는 접근자 함수. 이 기능을 이용하면 객체의 특정 속성에 대해 제어된 접근을 제공하거나, 특정 속성의 변경을 감지하고 추가 작업을 수행하는 등의 행동을 정의할 수 있다.
let obj = {
_name: 'Hong', // _name은 내부 속성.
get name() {
console.log('Getting name');
return this._name;
},
set name(value) {
console.log('Setting name to ' + value);
this._name = value;
}
};
obj.name; // "Getting name"출력, "Hong"
obj.name = 'Kim'; // "Setting name to" 출력,
obj.name; //"Getting name"출력, "Kim"
get name() 함수는 name 속성에 접근할 때 호출되고, set name(value) 함수는 name 속성을 새로운 값으로 설정할 때 호출.
이로써 속성에 대한 접근과 수정에 대해 추가적인 로직을 수행할 수 있게 되었다.