강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ㅇㅇ님의 프로필 이미지
ㅇㅇ

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

화살표 함수

this 질문

작성

·

170

0

var relationship1 = {
name: "zero",
friends: ["nero", "hero", "xero"],
logFriends: function() {
var that = this;
this.friends.forEach(function(friend) {
console.log(that.name, friend);
});
}
};
relationship1.logFriends();

여기서 this를 that에 대입을 하는 이유가 뭔가요?

logFriends 안에서 콘솔로그로 this를 보니까 Object[global] ~~ 이런게 뜨던데 그럼 this를 that에 대입해도 똑같은 값이 대입되어야 하지 않나요?

그런데 that에 대입을 하고 콘솔로그해보면 relationship1의 객체가 나오네요..

이유가 궁금합니다.

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

function 안에서 this는 바깥 함수의 this와 다릅니다. 따라서 바깥 함수의 this를 사용하려면 다른 변수에 값을 대입해서 사용해야 합니다.

ㅇㅇ님의 프로필 이미지
ㅇㅇ

작성한 질문수

질문하기