[JavaScript] 12. inheritance & property

SSOYEONG·2022년 8월 6일
0

자바스크립트 기초

목록 보기
11/11
post-thumbnail

Prototype Chain

const car = {
    wheels: 4,
    drive() {
        console.log("drive..");
    },
};

const bmw = {
    color: "red",
    navication: 1,
}

const benz = {
    color: "black",
}

const audi = {
    color: "blue",
}

bmw.__proto__ = car;
benz.__proto__ = car;
audi.__proto__ = car;


console.log(bmw);
console.log(bmw.wheels);
console.log(benz);
console.log(audi);
  • bmwwheels 프로퍼티를 찾음
  • 없기에 __proto__ 안에서 찾음 -> 있다!
  • car를 상속 받음

Constructor

const Bmw = function(color) {
    this.color = color;
    this.wheels = 4;
} ;

Bmw.prototype.wheels = 4;
Bmw.prototype.drive = function () {
    console.log("drive..");
};
// Bmw.prototype = {
//     wheels: 4,
//     drive() {
//         console.log("drive..");
//     }
// };


const x5 = new Bmw("red");
const z4 = new Bmw("red");

// x5.__proto__ = car;
// z4.__proto__ = car;
  • 객체 x5, z4에 각각 __proto__를 설정하는 것이 아니라
    Bmw.prototype로 중복 코드를 줄일 수 있다.
profile
Übermensch

0개의 댓글