객체 생성자는 함수를 통해서 새로운 객체를 만들고 그 안에 넣고 싶은 값 혹은 함수들을 구현 할 수 있게 해준다.
객체 생성자를 사용할 때 함수의 이름은 대문자로 하고, 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
이해는 가지만, 살짝 복잡하다..
사용의 의미에 대해 감이 잠히지 않는다 라고 하는게 맞는 것 같다.