inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩인터뷰를 저격하는 JS 스나이퍼 양성학교

객체 공장장, < 생성자 >

생성자 함수관련...

228

아기고양이

작성한 질문수 9

2

강의에서 정정해주시면 좋을것같아 의견드려요.
var myFoo1 = Food('파스타') 처럼 new 키워드를 제거하는 경우 Food는 생성자의 기능이 아닌 함수로 작동하게됩니다. 즉 함수 Food는 리턴하는 키워드가 존재하지 않으므로 undefined를 반환하게 되고, 이것은 this와는 전혀 상관없다고 생각합니다. es5코드로 작성하셨으니 es5기준으로 동작을 말씀드리자면...
1. Food함수가 실행 시 좌측에 별다른 식별자가 존재하지 않으므로 Food함수 내부의 this는 window객체를 가르킨다.(use strict 사용시 null 출력)
2. 아래 코드는 다음과 같다.
this.name = name; window.name = name;
this.smell = function() {...}; window.smell = function() {...}
3. Food 함수내에 반환하는것이 없으므로 undefined를 반환..
var myFood1 = Food('블라블라');
myFood1. 으로 접근 시 에러 발생.. 즉 이것은 this가 name or smell이 존재하지 않아서 발생하서가 아닌 undefined로부터 name or smell을 접근하려고 하니 발생하는 에러라고 생각합니다.
 
혹시 제가 틀린부분이나 영상에서 제가 잘못오이해한부분이 있다면 피드백 감사하겠습니다.

javascript 코테 준비 같이 해요!

답변 1

0

Hojun Lee

아이고 역시 날카롭게 지적해주셨군요... 맞습니다. 다른 학생분도 지적해주셨던 내용인데요... return 없는 함수이기 때문에 undefined를 반환하니 this 랑은 전혀 상관이 없게 되는게 맞습니다..;;

빨리 재촬영 해야한다고 생각했는데 자꾸 늦어졌군요 ㅠㅠ  좋은 지적 감사합니다!

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

0

4

1

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

0

15

1

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

0

37

2

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

0

33

1

일반 강의와 차이점?

1

44

1

!= 연산자의 역할

0

34

1

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

0

32

1

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

0

47

1

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

0

49

2

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

0

62

2

27강 Context내 RSC 사용 관련 문의

0

78

3

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

0

73

1

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

0

44

2

에러 질문드립니다

0

60

2

prototype.constructor 를 꼭 설정해주어야 하는 이유가 뭔가요?

0

254

0

생성자 함수와 클래스 중 어느 것을 사용하는게 효율적인가요?

1

240

1

클로저 파트 마지막 예시에 관해 질문있습니다.

1

266

1

이벤트 위임관련...

1

255

1

let, const에서의 호이스팅에 대해서...

2

277

1

function과 arrow function 관련

1

288

1

객체 공장장, <생성자> 편에 잘못된 내용이 있는것 같습니당

1

244

1

동영상강의에서 사용했던 코드 공유 부탁드립니다.

1

198

1

생성자 내에 함수 선언

2

324

2

apply에서 this 질문입니다

2

187

1