자바스크립트 객체의 활용
- 자바스크립트에서는 객체 리터럴이라는 표현식을 이용해 객체를 쉽게 만들 수 있다.
var healthObj = {
name : "달리기",
lastTime : "PM10:12",
showHealth : function() {
console.log(this.name + "님, 오늘은 " + this.lastTime + "에 운동을 하셨네요");
}
}
healthObj.showHealth();
this
- 객체 안에서의 this는 그 객체 자신을 가리킨다.
- ES6에서는 객체에서 메서드를 사용할 때 'function' 키워드를 생략할 수 있다.
const obj = {
getName() {
return this.name;
},
setName(name) {
this.name = name;
}
}
obj.setName("crong");
const result = obj.getName();
this 좀 더 알아보기
- javaScript에는 전역 스크립트나 함수가 실행될 때 실행문맥(Execution context)이 생성된다. (참고로 실제 실행은 브라우저내 stack이라는 메모리 공간에 올라가서 실행된다.
- 모든 context에는 참조하고 있는 객체(thisBinding이라고 한다.)가 존재하는데, 현재 context가 참조하고 있는 객체를 알기 위해서는 this를 사용할 수 있다.
- 즉, 함수가 실행될 때 함수에서 가리키는 this 키워드를 출력해보면 context가 참조하고 있는 객체를 알 수 있다.
function get() {
return this;
}
get();
new get();