프로토타입
let user = { name: 'jjw', age: 31 };
let admin = {};
admin.__proto__ = user;
admin.name // 'jjw'
admin.age // 31
JavaScript
복사
프로토타입과 클래스와의 관계
function Person(name, age) {
console.log('생성 되었습니다!');
this.name = name;
this.age = age;
}
const jjw = new Person('재웅', 31); // 생성 되었습니다.
JavaScript
복사
class Person {
// 클래스 로직
constructor(name, age) {
console.log('생성 되었습니다!');
this.name = name;
this.age = age;
}
}
const jjw = new Person('재웅', 31); // 생성 되었습니다.
JavaScript
복사
클래스 문법도 내부적으로 프로토타입 기반으로 되어있으며, 생성자 함수와 같은 원리로 동작한다.
타입스크립트의 클래스 문법
class Person {
private name: string;
public age: number;
readonly log: string;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
}
TypeScript
복사