
JS
Prototype Prototype에 대해서
속성과 함수를 저장하는 특별한 공간
이러한 공간을 활용하여 CRUD 구축 가능
Function 객체
Function 객체는 JS에서 모든 함수의 조상
이 Function 또한 Object 를 상속 받고 있음, Object 는 JS의 최상위 객체
Prototype의 데이터 추가, 조회
데이터의 추가 → 새 객체의 생성
Prototype 에 객체형 데이터 저장 {key : value}
const animal = { sound: () => { console.log("소리 내기"); } } // Object.create(데이터) // -> 새 객체의 생성 = 프로토타입 명시적 설정 cosnt dog = Object.create(aniaml); dog.sound(); // 소리 내기Object.prototype.이름 = 속성 정의
, 객체끼리의 기능 공유 , 프로토타입 공유// Object 는 모든 조상 // 모든 것에 사용 가능해짐 Object.prototype.sayHello = (value) => { console.log(`${value} 안녕`); } const person = {name: "yj"}; person.sayHello(person.name); // yj 안녕 // 위 방법은 너무 위험함 // 필요한 객체끼리 기능을 공유하게 만들어야함 const person = {name: "yj"}; person.sayHello(person.name); class Person { constructor(name) { this.name = name; } sayHello() { console.log(`${this.name} 안녕`); } } const person2 = new Person("yj"); person2.sayHello(); // yj 안녕 // 프로토타입을 공유하는 방법 const greeter = { sayHello() { console.log(`${this.name} 안녕`); } }; const person3 = Object.create(greeter); person3.name = "yj"; person3.sayHello(); // yj 안녕
조회
Object.getPrototypeOf() 사용
Object.getPrototypeOf(sayHello); // Function.prototype
Share article