[javascript] 객체 생성자와 프로토타입

들블리셔·2022년 7월 18일
0

객체 생성자는 함수를 통해서 새로운 객체를 만들고 그 안에 넣고 싶은 값 혹은 함수들을 구현 할 수 있게 해준다.

객체 생성자를 사용할 때 함수의 이름은 대문자로 하고, new라는 키워드를 사용한다.

function Animal(type, name, sound) {
  this.type = type;
  this.name = name;
  this.sound = sound;
}
// 공통된 특정 함수 또는 값을 재사용 할 수 있게 만들어 준다.
// 이것을 프로토타입이라고 한다. 상속과 같다.
// 프로토타입의 역할은 객체생성자로 무언가를 만들었을때,
// 그것으로 만든 객체들 끼리 공유할수 있는 어떤 값이나 함수를 설정 한다.  
Animal.prototype.say = function() {
  console.log(this.sound);
}
Animal.prototype.testValue = 1;
const dog = new Animal('개', '멍멍이', '멍멍');
const cat = new Animal('고양이', '야옹이', '야옹');
dog.say();   //멍멍
cat.say();   //야옹
console.log(dog.testValue); //1

이해는 가지만, 살짝 복잡하다..
사용의 의미에 대해 감이 잠히지 않는다 라고 하는게 맞는 것 같다.

profile
나의 공부방

0개의 댓글