Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AWS조사
- node.js설치
- 재귀함수
- 개발툴
- 클로저
- scope
- css기초
- CSS
- 메모이제이션
- 원본과 복사본
- vscode
- prototype
- APPEND
- AWS
- 생활코딩
- 기초공부
- flex기본
- 스코프
- appendChild
- complexity
- node.js
- let
- var
- AWS기초
- 인터프리터
- IT
- JavaScript
- 코드스테이츠
- 리커젼
- Big-O notation
Archives
- Today
- Total
Jveloper
Prototype 본문
Array.~~~() : 클래스에서만 작동 // Array.prototype.~~~() : 인스턴스에서만 작동
Array.prototype.~~~() : 인스턴스에서만 작동하는거에 대해 알아보자
ex)
그렇다면 인스턴스란 무엇인가?
'new Array(1,2,3)' 또는 'let array = [1,2,3]' 이것들은
Array.prototype( 원본 ) 이 있기때문에
만들어지는 복사본(즉, 인스턴스)이다
ex) prototype이 붕어빵 틀이라면 new Array(1,2,3) , [1,2,3] 이 녀석들이 계속 복사될수 있는 붕어빵이라고 생각하면 편하다
Array.prototype.join.call([1,2,3], '-');
// "1-2-3"
[1,2,3].join('-');
// "1-2-3"
//즉, Array.prototype 은 [1,2,3]
원본에 새로운 메소드를 입힐수 있다
function ProtoExam(name, size){
this.name = name;
this.size = size;
}
ProtoExam.prototype.see = function(){
return `${this.name} is ${this.size}`;
}
let food1 = new ProtoExam('cookie', 'small'); // ProtoExam {name: "cookie", size: "small"}
let food2 = new ProtoExam('pizza', 'big'); // ProtoExam {name: "pizza", size: "big"}
food2.see(); // pizza is big
see라는 메소드를 입힌걸 확인할 수 있다
prototype은 원본이라는것을 잘 기억하자
'JavaScript' 카테고리의 다른 글
__proto__, constructor, prototype (0) | 2019.06.03 |
---|---|
Recursion(재귀 함수) (0) | 2019.05.07 |
Closure (0) | 2019.04.25 |
Scope (0) | 2019.04.23 |
Node.appendChild 와 Node.prepend (0) | 2019.04.15 |
Comments