728x90
반응형
javascript에서 객체를 생성하는 3가지 방법에 대해서 정리해보려 한다.
1. Object 생성자 함수 사용
2. 객체 리터널 방식 사용
3. 생성자 함수 사용
이렇게 3가지 방법이 있는데, 내가 객체를 생성할 때 가장 많이 쓰는 방식은
객체 리터럴 방식이다. 각 장단점이 있겠지만, 가장 좋은 방식은 객체 리터널 방식이지 않을까 싶다.
우선 직관적인 게 첫번째 이유, 그리고 객체를 생성함과 동시에 프로퍼티를 할당하기 때문에
속도가 빠르다는 게 두번째 이유이다. 그럼 각 방식에 대해서 자세히 알아보자.
1.Object 생성자 함수 사용
//비어있는 객체 생성
var student = new Object();
//student 객체의 프로퍼티를 할당
student.name = 'michelle'
student.age = 18
student.sayHello = function(){
console.log(this.name + 'Hello!');
}
console.log(student);
//student 객체에 프로퍼티를 새로 할당 할 수도 있다.
student.job = 'developer';
student.hobby = 'movie';
2. 객체 리터널 방식 사용
var student = {
name : 'michelle',
age : 18,
sayHello : function(){
console.log(this.name + 'Hello!');
}
};
console.log(student);
객체 리터널 방식은 {}를 이용하여 객체를 만든다. 아마 가장 많이 쓰이는 방식이 아닐까 싶다.
3. 생성자 함수 사용
function Student(name, age){
this.name = name;
this.age = age;
this.sayHello = function(){
console.log(this.name + 'Hello!');
}
};
var student1 = new Student('michelle', 27);
var student2 = new Student('frank', 36);
var student3 = new Student('demi', 27);
이 방식은 java에서 클래스를 생성하고 해당 클래스를 생성자를 사용하여 객체를 만드는 방식과 비슷하다. ( 참조 )
다른 점은 클래스가 아닌, 생성자 함수를 사용한다는 점이다. 그외에는 하나의 생성자 함수(java에서는 클래스)를
통해 여러개의 객체를 생성하는 것이 가능하다는 점이 비슷하다고 할 수 있겠다.
728x90
반응형
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] DOM이 랜더링 되면 이벤트를 실행시키는 Ready/DOMContentLoaded에 대해 ( 제이쿼리 , 순수 자바스크립트 ) (0) | 2022.04.30 |
---|---|
[JS] ES6 : 배열 안의 원소값들을 하나로 묶는 Join함수 (0) | 2022.04.28 |
[JS] javascript navigator객체를 사용하여 현재 사용중인 브라우저의 종류와 버전을 알아보자. (0) | 2022.04.08 |
[JS] 왜 프로미스의 then()에서 this는 undefined인걸까? ( then에서 this를 사용하는 방법 ) (0) | 2022.04.08 |
[JS] contextmenu 이벤트를 통해 우클릭시 메뉴를 컨트롤 하는 기능을 구현해보자. (0) | 2022.03.19 |