티스토리 뷰

Coding/javascript

[javascript] prototype 문법

Kim Da Beeen 2023. 7. 23. 19:03
반응형
prototype

 

 

function 공격(스킬, 스킬2) {
  this.q = 스킬1;
  this.w = 스킬2;
}

const 캐릭터1 = new 공격("strike", "snowball");

 

 

공격이라는 객체의 prototype을 콘솔창에 입력하면 위와 같이 검색된다.

prototype은 유전자 역할을 한다고 생각하면 됨

 

 

 

 

공격.prototype.name = "kim";​

공격의 prototype에 name을 추가하면

공격(부모)이라는 객체로부터 만들어진 캐릭터1(자식)도 name을 사용할 수 있다.

 

캐릭터1에 name을 지정한 적이 없지만 부모의 유전자이므로 상속받아서 가져다 쓸 수 있는 것!

 

 

 

 

const arr = [4, 2, 1];
arr.sort( ); // 1, 2, 4

arr라는 배열에 요소들을 오름차순으로 정렬하고 싶을 때 sort( )라는 메소드를 사용한다.

만든적 없는 메소드를 기본 메소드를 사용할 수 있는 이유는?

부모 유전자에 기록이 되어있기 때문이다

 

 

 

 

cosnt arr = new Array(1, 2, 4)

배열을 만들 때 new Array 로도 만들 수 있다.

Array라는 부모 유전자에 sort( ), length( ) 등의 기본 메소드가 기록되어있음

 

 

 

실제로 Array의 prototype을 검색해보면 여러가지 메소드들이 있는걸 확인할 수 있다.

 

 

 

 

만약 모든 Array 자료에서 쓸 수 있는 함수를 추가하고 싶으면?

Array.prototype.함수 = function(){
  console.log('함수 만들었다')
}

이렇게 추가도 가능하다. 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/01   »
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
글 보관함