Silver Library (Archived)
class in JS 본문
- sayhi 와 같은 것은 ES6 축약형 method.
- sayhi 와 같은 ES6 축약형 method 를 arrow function 로 정의하는 것은 좋지 않음 (bad).
- prototype 의 property 계열도 마찬가지로, arrow function 으로 해당 prototype method 를 정의하는 것은 좋지 않음(bad).
왜 그런가? 라고 한다면 : arrow function 으로 declaration 시, 이 후 this 참조는 해당 함수가 아닌, 전역 객체(window)를 참조한다.
이에, 일반 함수로 할당 하는 것이 좋겠습니다.
또한, ES6 method 축약 표현으로 정의한 ES6 method 를 사용하는 것이 좋겠습니다.
핵심은 해당 class 내부에서 작동하게 하는 것. arrow function 사용을 통해 해당 함수를 선언 할 경우, class 내부가 아닌 외부를 scoping 하게 되는 것으로 보임. 주의.
그 외:
<주의! 기억이 다소 불확실함! 신뢰도 낮음! 재점검 필요.>
class Derieved extends Base {} 는 일종의 sub class 개념으로 보여짐. 넘겨주기식 클래스.
- super 그리고 [[HomeObject]]
- derived
- constructor 의 암묵적(implicitly) 생성 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Classes/constructor
- (arguments) // 이 객체는, 인수 전달용도로(도) 쓰임
- 가변 인자 함수
- window 전역, 전역 프로퍼티로 window.name (?).
- foo()
- 스코프가 핵심.
- ... // (인수) - 관련 개념 : Rest parameter
- [] // (배열)
'CS Library > JavaScript - Data Structure' 카테고리의 다른 글
백준 1330번 JS - closure, node.js template? (0) | 2021.07.19 |
---|---|
백준 JS 소스코드 템플릿 겸 - 2588 곱셈 (0) | 2021.07.19 |
Callback in JS? (0) | 2021.07.17 |
Constructor, super class, literal, static (0) | 2021.07.17 |
실행 컨텍스트? 렉시컬 환경이 뭐지? [2탄] (0) | 2021.07.12 |