이번에야말로 Javascript Prototype
2019-6-24
- javascript
- prototype
자바스크립트는 프로토타입 기반으로 만들어진 언어라는 말을 많이 들어봤다.
개념을 확실히 차근차근 짚어 나가고 싶어서 여기저기 돌아다니다가, 정리가 아주 잘 되어있는 글을 발견했다!
javascript prototype에 대하여 - JavaScript - 자바스크립트 개발자 포럼
요약

- 프로토타입의 사전적 의미는 원형.
- 자바스크립트에서 함수를 생성하면 함수객체와 함께 프로토타입이라는 객체가 동시에 생성.
- 각 객체는 분리되어 있고, 각각 해당되는 참조변수(prototype, constructor)를 사용하여 접근 할 수 있다.
- 각 객체는 분리되어 있는 것이기 때문에 함수 스스로는 프로토타입 값을 가질 수 없다.
- new 키워드를 사용하여 함수로 인스턴스를 찍어내면 this 객체가 함께 생성되고, 인스턴스에서 해당 객체를 사용할 수 있게 된다.
- 이때 this는 프로토타입을 가르키게 된다. 함수객체와 다르게 프로토타입에 접근 가능.
- 인스턴스에서 함수의 프로토타입에 접근하여 값을 수정하면, 인스턴스에 새로운 메모리가 할당되고 수정된 값을 저장한다. (함수의 프로토타입 값은 그대로다.)
- 프로토타입 체인이란 프로토타입이 다른 프로토타입을 참조 하는 것.
- 인스턴트가 자신이 상속받을 프로토타입 체인을 선택할수도 잇음.
- 객체 스스로가 프로토타입을 바꿔 타는 행위는 삼가.
글 하나만 읽고는 완벽히 이해가 되질 않아서 여러개 찾아서 읽어봤다. 이제서야 좀 알 것 같은 느낌이다.
함께 읽어보면 좋을 글들
수정이 필요한 부분 혹은 더 나은 방법을 알고계신가요?
댓글로 알려주시면 저에게 큰 도움이 됩니다! 😊💜