JS 클래스
JS에서의 기본값 this는 window인데(window를 가리키는데) use strict가 적용되면 undefined임 ! cf. ES2015 모듈에서는 strict 모드 자동 적용됨
객체 안의 this는 객체를 가리킴 ! 하지만, 이 객체의 this가 포함된 메소드를 변수에 대입해 확인해보면 이 때의 this는 window임을 확인할 수 있다. 즉, 꼭 객체 안에 있는 this라고 항상 객체를 가리키는 것은 아니란 말.
=> 결국, this는 함수가 호출될 때 정의된다 !!!!
쉽게 말해 함수 앞에 객체가 붙어있으면(객체.함수) this는 객체를 가리키고,
그 객체를 다른 변수에 담거나 하면 this는 그냥 window를 가리킴
+ new가 붙는 생성자 함수일 때도, this가 window에서 객체로 바뀜 !
cf. 하지만, this가 포함된 메소드가 화살표 함수일 경우에는 window에서 객체로 바뀌지 않음.
반환값이 나오게 다시 수정
'컴퓨터 사이언스 > TIL 정리' 카테고리의 다른 글
[HTML] 김준태 강사 강의 복습 (0) | 2022.07.18 |
---|---|
MGS Day-14 (0) | 2022.07.15 |
MGS Day-12 (0) | 2022.07.13 |
MGS Day-11 (0) | 2022.07.12 |
MGS Day-10 (0) | 2022.07.11 |