개인 의견 => 객체에 함수를 적용시켜주는 것
객체에 할당된 함수를 호출해줍니다. (함수 호출 전 this에는 값이 할당되지 않습니다.)
let user = {
name : 'KJ',
age: 30
}
user.greeting = function (){
console.log("Hello");
}
user.greeting(); // Hello 출력
객체를 사용하여 표현하는 방식을 객체 지향 프로그램이라 합니다.
바른 개체를 선택하고 개체 사이의 상호작용을 나타내고 설계합니다.
let user = {
name : 'KJ',
age: 30
}
user = {
greeting() {
console.log('Hello');
}
}
user.greeting();
객체에 저장된 정보에 접근할 수 있어야합니다.
Method(메소드) 내부에서 this를 사용해야 객체에 접근할 수 있습니다.
let user = {
name : 'KJ',
age: 30,
greeting(){
console.log(this.name); // KJ 출력
}
}
user.greeting();
동일한 함수라도 다른 객체에서 호출할 경우 this 참조 값이 달라진다.
let user = {
name: 'KJ'
};
let user2 = {
name: 'YS'
};
function greeting(){
console.log(this.name);
};
user.a = greeting;
user2.a = greeting;
user.a(); // KJ 출력
user2.a(); // YS 출력
this는 객체가 없어도 함수를 호출할 수 있습니다.
엄격모드가 아닌 이상 this에 없는 객체를 호출하면 undefined를 반환합니다.