다형성이란 부모 클래스의 프로퍼티를 자식 클래스에서 다형적으로 가질 수 있음을 의미한다. 다형성 class Vehicle { constructor() { this.engines = 1; } iginition() { console.log("engine is up!"); } drive() { this.iginition(); console.log("Vehicle drive!"); } } class Car extends Vehicle { constructor() { super(); this.wheels=4; } drive(){ console.log(this.wheels, 'Car drive!'); } } class SpeedBoat extends Vehicle{ constructor(){ super(); thi..
프로퍼티 나열을 객체에서 할 때 기억해야 할 것이 있다. 객체 프로퍼티 나열에는 순서가 없다는 것. 프로토타입 체인 관계에서 내가 모르는 프로퍼티가 존재할 수 있다는 것. for...in과 Object.keys 다른 사람이 만든 객체 o2가 있다고 하자. const o1 = { c: 3 }; const o2 = { a: 1, b: 2, d: 4 }; Object.setPrototypeOf(o2, o1); o2의 프로퍼티를 나열해보면 for (let prop in o2) { console.log(`${prop}: ${o2[prop]}`); } // a: 1 // b: 2 // d: 4 // c: 3 c는 o2에 없었지만 상위 프로토타입에 있기 때문에 출력되는 것을 알 수 있다. 프로토타입 체인 어딘가에 내..
ES6에서 생겨난 개념. iterator와 generator. generator는 iterator에 의존하는 개념이기 때문에 iterator부터 시작하자. iterator의 'iterate'는 '순회하다.'라는 뜻이다. 뜻에서 짐작할 수 있듯이 배열이나 객체의 값을 순회하는 역할이다. 어떻게 순회하는지 확인해보자. iterable의 대표적인 예인 배열부터 보면 const book = [ "hi", "i'm", "a developer" ]; iterator는 values() 메서드를 써서 이터레이터를 만들 수 있다. const it = book.values(); next() 메서드를 써서 순회를 진행할 수 있다. console.log(it.next()); // { value: 'hi', done: fals..
ES6에서 새롭게 추가된 데이터 구조 2개가 있다. 맵과 셋. 맵은 객체와 유사하고, 셋은 배열과 유사하다. 그 차이점이 뭘까? Map 객체의 역할은 KEY와 VALUE를 연결하는 역할이다. 그런데 객체에는 몇 가지 한계들이 있다. 1. 프로토타입 체인 때문에 의도하지 않은 연결이 생길 수 있다. 2. 객체 안에 연결된 키와 값이 몇 개나 되는지 쉽게 알아낼 수 있는 방법이 없다. 3. 키는 반드시 문자열이나 심볼이어야 하므로 객체를 키로 써서 값과 연결할 수 없다.. 4. 객체는 프로퍼티 순서를 보장하지 않는다. 맵은 위에서 나열한 4가지 문제점을 모두 극복해냈다. 코드를 보면서 확인해보자. Map 인스턴스는 new연산자를 이용해서 만든다. const u1 = {name: 'Cynthia'}; cons..
- Total
- Today
- Yesterday
- static method
- 다중상속
- 자료구조 #딕셔너리 #해시
- 자료구조
- 집합
- map
- 선형리스트
- javascript
- express-session
- 다형성
- Node.js
- virtuals
- Generator
- set
- query helper
- resave
- Iterator
- MongoDB
- alias
- mongoose
- 이중 연결리스트
- index
- instance method
- pm2 #cluster #Javascript
- 맵
- mixin
- saveUnitialized
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |