JavaScript는 프로토타입(Prototype) 기반 언어 입니다. 여기서 프로토타입은 원형 객체를 의미합니다.
class Human {
constructor(name, age) {
this.name = name;
this.age = age;
}
sleep() {
console.log(`${this.name}은 잠에 들었습니다`);
}
}
let kimcoding = new Human('김코딩', 30);
Human.prototype.constructor === Human; // 결과는? true
Human.prototype === kimcoding.__proto__; //결과는? true
Human.prototype.sleep === kimcoding.sleep; //결과는? true
Array는 클래스입니다. 지금까지 써 왔던 배열은Array 클래스의 인스턴스이며, Array.prototype에는 push, pop 등 다양한 메서드가 있습니다.