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 | 31 |
Tags
- ...args
- .toLocalString()
- 1주차
- 2020년 준비
- 2주차
- 4주차
- 5주차
- array
- array method
- async
- authentication
- AWS
- codestates
- commit
- Cookie
- CSS
- Data Structre
- Data Structure
- DataSturcutre
- Date.now()
- DB에 사진 저장하기
- Dev log
- DOM
- EC2
- EC2로 웹 만드는 방법
- EC2와 S3 연결하기
- element
- Es5
- ES6
- event 객체
Archives
- Today
- Total
souvenir
[JS] ES5문법과 ES6문법에서 객체를 만드는 차이 본문
ES5 문법에서 객체 만들기
1. Functional
var Car = function() { //Car라는 함수를 변수 선언식으로 만듭니다. 클래스 선언시는 대문자로
var someInstance = {}; //반환할 객체, 즉 복제품(Instance)를 선언
someInstance.position = 0 ; //위치 속성 선언
someInstance.move = function() {//위치 이동하는 기능(method)을 함수로 선언함
this.position += 1;
}
return someInstance; //복제품(instance) 반환
};
var car1 = Car(); //instance 만들기 및 method 실행
var car1 = Car();
car1.move();
2. Functional Shared
var Car = function(position) { //functional한 방식으로 객체선언
var someInstance = {
position: position;
};
extend(someInstace, someMethod); //-->extend 함수 넣기
return someInstance;
}
var someMethods = {}; //Car의 method를 담을 객체를 따로 선언함
someMethods.move = function() {
this.posiotion +=1;
}
var extend = function(to, from) { //someInstance와 someMethods를 합치는 extend 함수
for(var key in from) { //-->Car 객체에도 넣기
to[key] = from[key];
}
};
3. Prototypal
var someMethods = {};
someMethods.move = function() {
this.position += 1;
};
var Car = function(position) {
var someInstance = Object.create(someMethods); //->{}대신 Object.create()활용
someInstance.position = position;
return someInstance;
};
var car1 = Car(5); //실행
var car2 = Car(10);
4. Pseudoclassical
var Car =function(porition) {
this.position = position;
}
Car.prototype.move = function() { //prototype으로 연결하여 method 생성
this.position += 1;
};
var car1 = new Car(5); //여기는 new로 선언되는 이유는 무엇일까?
var car2 = new Car(10);
'2020년 > Java script' 카테고리의 다른 글
== vs === 의 차이 (0) | 2020.11.19 |
---|---|
[JS] JS와 객체지향 언어(OOP : Object Oriented Programming) (0) | 2020.07.29 |
배열의 축소 : Array.reduce (0) | 2020.05.13 |
1-3 [메소드]_배열 다루기 (2) (2) | 2020.04.28 |
1-3 [메소드]_배열 다루기 (0) | 2020.04.21 |
Comments