inflearn logo
강의

講義

知識共有

JavaScriptの中級コース

call, apply, bind

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

292

ycc20182

投稿した質問数 2

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

回答 1

0

ycc20182

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

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

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

3강 질문

0

18

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

29

1

2강 nodejs 3단계 설명 질문

0

33

1

imagesLoaded에 관한 질문

0

19

2

useEffect와 lifecycle문의

0

26

2

프론트엔드 학습 수준 문의

0

37

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

48

2

최근 코테, 과제 테스트 트렌드

0

69

2

lucide react 아이콘 설치

0

46

2

17강 zustand store 서버에서 생성

1

36

1

문의관련 문의

0

44

2

next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?

0

56

2

76. 전문성 더하기: 놓치면 아쉬운 관련 기술들 수업 자료가 없어요.

0

48

2

ai 도구 질문

0

31

1

저는 왜 콘솔에서 props가 한 줄만 찍히나요?

0

47

1

렌더링 차단 리소스 javascript 실행에 관련해서 질문 있습니다.

0

48

2

데이터 로딩중 화면만 계속 나와요!!

0

55

2

퍼블리셔일경우 어느정도 수준까지 강의를 들어야할까요

0

79

2

02-04 layout.tsx 구조가 달라요

0

60

2

불변성을 지키며 수정 삭제를 할때도 Map이 유리한가요?

0

54

1

개인 프로젝트로 앱 개발해서 다운로드 1300 달성했는데 어느 정도 의미가 있을까요? (안드로이드 개발자)

0

69

1

22강 강의 영상 문의 드립니다.

0

49

2

심볼 관련 질문

0

255

1

async에서 catch 질문 있습니다.

0

536

2