티스토리 뷰
- 프로토타입
자바스크립트에서도 객체의 원형을 정의 한 후 그원형에서 새로운 인스턴스 객체를 만들어 낼 수 있음.
Ex) 프로토 타입 예제
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.walk = function(speed){
console.log(speed + " km 속도로 걸어 갑니다.");
}
var person01 = new Person('kim ',20);
var person02 = new Person('park',24);
console.log(person01.name + "객체의 walk(10)을 호출 합니다.");
person01.walk(10);
=>1.
Person 프로토 타입의 객체를 만드려면 먼저 Person 함수를 정의 한다. 함수 중에서 new 연산자로 호출되는 객체를 만들기 위한 함수로 분류 이러한 함수를 생성자(Constructor)라고 한다.
=>2.
prototype을 정의 하는 이유는 쓸데 없는 메모리의 낭비를 막기위해서 어딘가에 있는 Object의 메모리 공간에서 중복되는 인스턴스들을 하나의 틀에 저장하여 쉽게 가져다 쓰기 위해서 prototype형태로 쓰게 된다.
- 위의 코드에서 this 의 의미?
생성자 함수로 객체를 만들면, 그 객체안에서 사용하는 this키워드는 그 함수를 호출하는 객체를 가리킨다.
- prototype 객체는 Person객체 자신을 가리키도록 되어 있다.
1. Person.walk = function { }
2. Person.prototype.walk = function() { }
이 두개의 결과는 같은 결과값을 얻을 수 있다.
+ 요약
두가지 코드 모두 Person 이라는 틀로 만들어 낸 인스턴스 객체에서 walk 함수를 호출할 수 있음.
prototype 속성으로 추가하면 인스턴스 객체를 만들 때 메모리를 효율적으로 관리 가능
'Node.js' 카테고리의 다른 글
[node.js]이벤트 이해하기 (0) | 2017.09.17 |
---|---|
[node.js]주소 문자열과 요청 파라미터 다루기 (0) | 2017.09.17 |
[node.js]프로토 타입 이해하기 (0) | 2017.09.17 |
[node.js]콜백 함수 이해하기 (2) | 2017.09.17 |
[node.js]배열 이해하기 (0) | 2017.09.17 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C langauge
- TensorFlow
- 학교
- Controller
- Spring
- programming
- 노드
- db
- Android
- 백준
- node.js
- 알고리즘
- 텐서플로우
- 개발하는 관광이
- 복습
- 감자코딩
- 백준알고리즘
- Algorigm
- 프로그래밍
- 리버싱
- MVC
- 머신러닝
- node
- 감자개발자
- 초보자를 위한 C언어 300제
- BFS
- C언어
- 안드로이드
- 스프링
- 코드엔진
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함