자바스크립트에서 'this' 키워드를 사용하여 함수에서 함수 호출하기
자바스크립트에서 함수 내에서 다른 함수를 호출할 때 ‘this’ 키워드를 사용할 수 있습니다. ‘this’는 현재 실행 컨텍스트에서 호출된 함수를 참조하는데 사용됩니다. 이를 통해 함수 내에서 다른 함수를 호출하고 해당 함수의 메서드를 사용할 수 있습니다.
아래 예제를 통해 이를 살펴보겠습니다.
const myObject = {
firstName: 'John',
lastName: 'Doe',
fullName: function() {
return this.firstName + ' ' + this.lastName;
},
greeting: function() {
const message = 'Hello, ' + this.fullName();
console.log(message);
}
};
myObject.greeting(); // 출력 결과: 'Hello, John Doe'
위의 예제에서는 myObject라는 객체를 생성하고 그 안에 firstName, lastName, fullName, greeting이라는 속성과 메서드를 정의했습니다.
fullName 메서드에서는 this.firstName과 this.lastName를 이용하여 firstName과 lastName을 조합한 전체 이름을 반환합니다.
greeting 메서드에서는 fullName 메서드를 호출하고 해당 결과를 이용하여 인사말을 콘솔에 출력합니다. 이때 this.fullName()으로 fullName 메서드를 호출할 수 있습니다.
myObject.greeting()을 호출하면 “Hello, John Doe”라는 메시지가 출력됩니다.
속성이나 메서드 내에서 this 키워드를 사용한다는 것은 현재 객체의 메서드나 속성을 의미한다는 것을 기억해야 합니다. this는 호출한 함수의 컨텍스트에 따라 다르게 동작하므로 주의해야 합니다.
#javascript #this