어제 프로토타입에 대해 공부했었다. 오늘 공부한 프로토타입 체인을 우리가 자주 사용하는 배열을 예로 설명해보겠다. 프로토타입은 객체의 원형으라고 했다. 그래서 우리가 배열을 생성할 때 let arr = [] 이런식으로 배열을 생성해도 내부적으로는 new Array() 같이 생성자 함수로 선언되었다는 것을 알 수 있었다. 이렇게 생성된 인스턴스 arr 은 생성자 함수에게서 메소드를 상속받는다. arr 배열 객체의 원형은 Array 임을 알 수 있다. 그럼 객체는 프로퍼티일까 ? 정확히는 아니라고 할 수 있다. 함수 객체가 가지는 프로토타입이라는 특수한 형태의 객체 프로퍼티를 통해 상속받는 것이다 ! 따라서 Array.prototype 객체를 살펴보면 배열에서 사용한 메소드들을 찾아볼 수 있는 것이다. Ar..
프로토타입이라는 단어는 매우 생소했다. 또한 공부하기도 어려웠다 .. 잘 이해가 안됐던 거같다 ㅜ.ㅜ 조금 더 공부가 필요할 것 같다 !! 그래도 공부해본 프로토타입과 클래스에 대해 정리해보겠다 . 프로토타입(Prototype) 프로토타입은 원형 객체를 의미하며 자바스크립트는 프로토타입 기반 언어이다. 프로토타입 기반 언어 ? 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체를 가진다는 의미 프로토타입 객체도 또 상위 프로토타입 객체로부터 메소드와 속성을 상속 받을 수 있고 그 상위도 마찬가지이다. 이를 프로토타입 체인이라고 하며 이에 관한 내용은 다음 블로깅때 정리하겠다. 즉 상속되는 속성과 메소드들은 각 객체가 아니라 객체의 생성자의 prototype이라는 속성에 정의되어있..