prototype이란 무엇인가?

Calvin Park·2022년 7월 22일
0
//부모
function something(){
    this.q = 'strike';				
    this.w = 'snowball';
}
//복사된 object가 기본으로 가질 속성

//이렇게 쓰면 object가 남음 (자식)
let s = new something()

//prototype으로 사용하기
something.prototype
//prototype은 무엇인가?  -> 유전자 같은 느낌으로 알면 된다. 
//prototype에 뭔가 추가가 되면 
something.prototype.name = 'park'

자식에 쓸수가 있다

console.log(s.name)
//출력: park

부모 object에다가 쓰면 자식이 직접 가져다가 쓸수는 있지만

prototype에 추가를 하게되면 부모만 가질 수 있다.

그럼 원리는?

기본코드에서 s가 name을 가지고 있지 않으면 s의 부모 유전자를 찾기 시작합니다.
거기에 name값이 입력되어져 있으면 출력이 되는 것이고요

object에서 자료뽑을 때 일어나는 이

  1. 직접 자료를 가지고 있으면 그 자료를 출력
  2. 직접 자료를 가지고 있지 않으면 상속을 줬던 즉 부모까지 찾음
  3. 없으면 계속 끊임 없이 찾음.
//인간의 방식
let array = [9,4,2,1]
//컴퓨터 방식
let array = new Array(9,4,2,1)

//sort()를 붙일 수 있는 이유는?
array.sort()
//Array.prototype.sort() -> 즉 부모에 있다.
profile
Personal Velog Note

0개의 댓글