Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 리액트
- 엔퀸즈
- vscode
- 일상
- 코딩
- nqueens
- 개발
- 취업
- this
- 공부
- method
- react
- underbar
- JavaScript
- 초보
- grpahQL
- JS
- 해커톤
- 제일어려워
- ftech
- 포스기
- 코드스테이츠
- underscores
- 클라이언트
- DOM
- 자바스크립트
- 연습
- Instantiation Patterns
- 알고리즘
- array
Archives
- Today
- Total
analogcoding
Object.create() & Class & Super Method 본문
Object.create() 메소드는
객체를 인자로 받아 지정된 프로토타입 객체 및 속성(property)을 갖는 새 객체를 만든다.
Object.create() 라는 메소드를 통해서 __proto__ 속성에 직접 접근하지않고 프로토타입 체인을 연결할 수 있다.
(proto 매개변수가 null 또는 객체가 아닌 경우 TypeError 가 발생한다.
Class
class는 javascript 에서 클래스 기반 언어를 사용하지 않지만 편의를 위해? ES6 에서 도입된 문법이다.
(ES6의 class 키워드는 겉은 class 이더라도, 내부적으로 프로토타입 기반으로 구성되어있다.)
prototpye 과 class 의 차이를 코드로 먼저 보자면 거의 비슷하지만 다른 class 기반 언어처럼 적어 사용한다.
확실히 사용해보니 원래 방식보다 편했다. 단점에 대한 것도 읽어보았지만 코드 자체를 작성하는 건 편해서 앞으로 자주 쓰이는
문법일 것 같다.
Super
아래 코드처럼 부모를 참조한 생성자가 생성되었을 때 생성자에 다른 기능을 추가하고 싶을 때 여러가지를 수정해야한다면
굉장히 많은 중복이 발생한다.
여기서 부모에서의 기능과 중복되는 부분을 묶어서 자식에 간단하게 작성하고 추가로 작업할 수 있게 가능해진다.
위 코드에서 class 생성자에 기능을 추가하려면 기존기능까지 적어줘야하지만 super 메소드를 사용하면 중복을 줄일 수 있다.
'Be well coding > Learn more' 카테고리의 다른 글
N-Queens (0) | 2019.06.10 |
---|---|
Interact with Server - what is Web Architecture (0) | 2019.06.08 |
Inheritance Patterns (0) | 2019.06.03 |
Data structure - part.2 (0) | 2019.05.29 |
Data structure - part.1 (0) | 2019.05.29 |
Comments