inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Khóa học trung cấp JavaScript

gọi, áp dụng, ràng buộc

마지막 부분에 질문 있습니다.

305

ycc20182

2 câu hỏi đã được viết

1

const user = {
    name:"Mike",
    showName: function(){
        console.log(`hello, ${this.name}`);
    },
};

let fn = user.showName;
// this가 지워진다. 왜??
// 왜 바로 fn()하면 this.name이 발동이 안되지?
// fn(); // error. Cannot read properties of undefined (reading 'name')

마지막 부분에 바로 fn();을 하면 this.name을 하지 못해 오류가 나는데, 왜 let fn으로 할당을 할 때 this가 지워지는 지 궁금합니다.

답변해주시면 감사하겠습니다.

javascript

Câu trả lời 1

0

ycc20182

let fn  = user.showName; 으로 받게 되면

showName 이 가리키는 함수 functon()도 fn이 받게 됩니다.

그러면 이 function()함수 안에 있는 this.name에서 this는 fn 자체를 가리키게 됩니다. fn에는 name에 대한 정보가 없기 땜누에 typeerror가 발생합니다. 따라서, this를 user로 할당시켜 줘야하기 때문에 call, apply, bind가 활용됩니다.

존재하지 않는 일기 url입력 시 alert이 두 번 떠요

0

13

1

useState 직접 구현 부분에서 질문이 있습니다.

1

19

1

학습을 하고 블로그에 정리를 해도 괜찮을까요?

1

22

1

교재(3쇄)와 강의 내용 문의

0

28

2

섹션2번 부분 강의 화면이 잘 못된것 같아서 문의합니다.

0

23

1

call stack 표현이 잘못표현된것이 아닌가요?

0

61

2

React 와 Virtual DOM 의 이야기 영상 실행이 안됩니다.

0

34

1

일반 강의와 차이점?

1

53

1

!= 연산자의 역할

0

35

1

중요하진 않지만 설명하신부분에서 안된부분..

1

36

1

강의 듣는 순서가 어떻게 되나요?

0

48

1

stopPropagation()에 대해서 질문 있습니다.

0

49

2

12.13) 하단 여백 스타일링 관련 질문 드립니다.

0

65

2

27강 Context내 RSC 사용 관련 문의

0

83

3

혹시 다음 강의 제작 예정된 것들이 있을까요?

0

78

1

Enable Linting 항목을 찾을수가 없습니다.

0

46

2

에러 질문드립니다

0

63

2

1강 질문

0

69

2

윈도우에서는동작줄이기가어디에있을까요??

0

34

1

백오피스를 개발할 때 아키텍처 구성에 대한 질문

0

58

3

ai가 만든 강의인가요?

0

143

1

VSCode 설정 문의

0

66

2

심볼 관련 질문

0

267

1

async에서 catch 질문 있습니다.

0

554

2