prototoype - 인간의 기본적인 틀이라고 한다면
상속받는 객체는 _인간이 모두 같지 않듯이_ prototype 에서 내부의 속성이 조금씩 달라진다.
인터페이스 - 어떤 기능을 다룰 때 다루는 기능을 하는 것, 전달해주는 것
ex) 컴퓨터의 인터페이스 - 키보드, 마우스, 모니터, 스피커 등
OOP의 인터페이스 역할을 하는 성격 - 추상화 (추상화된 부분으로 드러나지 않는 것들을 핸들링한다)
부모의 메소드를 실행할 때 construcrtor에서 call, apply를 실행해야 한다. (pseudoclassical)
ex) blinkydancer가 dancer의 자식일 때 blinkydancer에서 dancer의 constructor를 사용하려면 this를 넘겨주어야 한다.
부모의 메소드를 사용해야 하지만 this는 나의 this를 사용해야 하기 때문에 call, apply로 this를 넘겨와야 한다.
setTimeout 함수에서는 명시적으로 this가 window로 나오기 때문에 this를 써야 한다.
call, apply는 그대로 실행시켜버리기 때문에 쓰면 안되고 bind를 써서 실행되지 않은 함수 자체를 리턴시켜서 필요할 때 실행할 수 있게 한다.
setTimeout의 첫번째 인자는 무조건 함수여야 하기 때문에, 함수를 바로 실행시키는 call, apply가 아니라 함수 자체를 리턴하는 bind를 사용한다.
'코딩을 배울테야 > TIL' 카테고리의 다른 글
TIL_20210120 (0) | 2021.01.23 |
---|---|
TIL_20210119 (0) | 2021.01.20 |
TIL_20210115_prototype_chain (0) | 2021.01.15 |
TIL_20210114_OOP (0) | 2021.01.14 |
TIL_20210113 (0) | 2021.01.13 |
댓글