객체 생성자
function Animal(type,name,sound){
this.type = type;
this.name = name;
this.sound = sound;
this.say = function(){
console.log(this.sound);
}
}
const dog = new Animal('개', '멍멍이','멍멍');
const cat = new Animal('고양이', '야옹이','야옹');
dog.say();
cat.say();
객체를 생성한다.
파라미터로 받은 값을 넣어서 만들고
say라는 익명함수를 만들었다.
그런데 매번 함수가 새로 만들어지니까 객체마다 같은 함수를 가지도록 해보자
프로토타입을 사용한다.
Animal.prototype.say = function(){
console.log(this.sound);
}
function say (){
console.log(this.sound)
;}
dog.say = say;
cat.say = say;
위 코드와 아래 코드는 같은 뜻이다.
Animal.prototype.sharedValue = 1;
상속
function Dog(name, sound){
this.type = '개';
this.name = name;
this.sound = sound;
}
function Cat(name, sound){
this.type = '고양이';
this.name = name;
this.sound = sound;
}
상속을 받지 않으면 이렇게 유사한 객체를 계속 만들어야한다.
function Dog(name, sound){
Animal.call(this, '개', name, sound);
}
function Cat(name, sound){
Animal.call(this, '고양이', name, sound);
}
Dog.prototype = Animal.prototype;
Cat.prototype = Animal.prototype;
프로토타입을 공유했다.
728x90
'WEB > Java Script' 카테고리의 다른 글
[Java Script] 삼항 연산자, 삼항 연산자의 중첩 (0) | 2021.04.23 |
---|---|
[Java Script] 클래스와 상속 (0) | 2021.04.23 |
[Java Script] 배열 내장함수 / reduce : 배열안에 알파벳이 몇개씩 들어있는지 확인하기 (0) | 2021.04.23 |
[Java Script] 배열 내장 함수/ reduce 함수로 sum, avg구하기 / 합계 평균 구하기 (0) | 2021.04.23 |
[Java Script] 배열 내장함수/ concat : 배열 합치기/join: 배열의 원소들을 문자열로 만들기 (0) | 2021.04.23 |