Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 자바 while문
- 자바 switch문
- 자바 자동캐스팅
- 자바 반복문
- 자바 공배수
- MySQL
- 자바 if문
- 자바 public
- 자바 구구단 출력
- Til
- 프로그래머스
- java
- 자바 삼항연산자
- 타입스크립트
- 자바
- react with typescript
- 자바 조건문
- 조코딩
- 자바 스캐너
- 변수
- 정보처리기사실기
- 항해99
- 항해99 2기
- TypeScript
- 자바 향상된 for문
- 이클립스 DB연동
- Vue3
- 자바 for문
- react ag grid
- 자바 강제 캐스팅
Archives
- Today
- Total
뇌 채우기 공간
[Java Script] 객체 생성자/ 프로토타입 공유/ 상속 본문
객체 생성자
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 |