hmk run dev
프로토 타입이란? 본문
객체는 함수로 만들어지며
자바스크립트의 모든객체는 프로토타입을 가지고 있다
자바스크립트의 모든 객체는 자신의 부모 객체와 연결되어 있어요. 좀 더 정확히는 부모 객체의 원형하고요!(부모 객체의 프로토타입) 마치 객체 지향에서의 상속 개념처럼 부모 객체의 프로퍼티나 메소드를 상속받아 쓸 수 있고요. (실제로는 상속보다 위임에 가깝다고 하지만, 통상적으로 상속한다고 표현해요.) 이런 부모 객체를 프로토타입 객체, 혹은 그냥 프로토타입이라고 부릅니다. 그리고 부모 객체를 참조하는 걸 두고 프로토타입 링크라고 해요.
// animal이라는 객체를 하나 만들었습니다!
let animal = {
leg: 4,
legCount() {
console.log(this.leg); // this는 animal을 의미합니다.
}
};
// 또 다른 객체 cat을 만들었고요!
// animal을 프로토타입 상속 받아올 거예요. (__proto__를 씁니다.)
let cat = {
__proto__:animal, // cat의 프로토타입은 animal!
cute: true,
};
// 프로토타입을 설정해주어서 cat은 animal의 메소드와 프로퍼티를 사용할 수 있어요.
cat.legCount();
console.log(cat.leg);
// cat만 가지고 있는 프로퍼티도 있고요!
console.log(cat.cute);
// animal은 cat의 속성을 가져올 수 없어요!
console.log(animal.cute);
'React' 카테고리의 다른 글
자바스크립트 필수문법 (0) | 2021.03.28 |
---|---|
액션과 리듀서를 편하게 만들어주는 모듈 (0) | 2021.03.26 |
리액트 2주차 문법 돌아보기 함수 그리고 객체약간 (0) | 2021.03.26 |
리액트 2주차 문법 돌아보기 (0) | 2021.03.26 |
리덕스와 파이어베이스 (0) | 2021.03.26 |
Comments