관리 메뉴

IT 쟁이

JavaScript 객체생성방법 3가지 본문

JavaScript

JavaScript 객체생성방법 3가지

클라인STR 2018. 10. 7. 21:54

1.객체 리터럴

객체를 생성하는 가장 일반적이고 간편한 자바스크립트 객체 생성 방식이다. 리터럴 방식은 객체 리터럴을 의미하는 {} 내부에 프로퍼티와 메서드를 정의(포장)하는 구조이다.

var user = {
name : "kiuk",
age : 10 ,
showInfo : function (){
document.write("name =" +this.name+", age="+this.age);
}
}
user.showInfo();

리터럴 방식은 클래스를 정의함과 동시에 자동으로 인스턴스가 만들어진다. 즉 인스턴스를 만들기 위해 다른 작업을 해주지 않아도 된다. 하지만 다른 클래스 정의 방법과 달리 인스턴스를 하나 이상 만들 수 없는 단점을 가진다.

2. 함수방식(function)

함수방식에 경우 하나의 함수 내부에 프로퍼티와 메서드를 정의하는구조이다. 프로퍼티와 메서드는 반드시 자기 자신을 나타내는 this에 정의해야 한다. 
javascript는 클래스를 만들기 위한 키워드가 따로 존재하지않는다. (ES6 에서는 지원함 -_-) 
일반적으로 함수이름은 소문자로 시작하며, 클래스는 대문자로 시작한다.

function User(){
this.name = 'kiuk';
this.age = '10';
this.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
}
var user = new User();
user.showInfo();

3. 프로토타입(prototype) 방식

// 클래스 생성자
function User(){
this.name = "kiuk";
this.age = 10;
}
// 메서드 정의
User.prototype.showInfo = function(){
document.write("name =" +this.name+", age="+this.age);
}
var user = new User();
user.showInfo();


Comments