Programming/HTML CSS JS

[JS] 객체 생성

seandoesdev 2023. 9. 25. 22:55

Object() 생성자

Object 생성자는 객체 래퍼(Wrapper)를 생성한다. 이 방법은 권장하지 않는다.

var user = new Object();
user.name = 'Sean';
user.insterests = ['Traveling', 'Workout']
user.greeting = function() {
	console.log('Hi, I\'m ' + this.name + '.');
};
user.greeting(); 

// output
// HI, I'm Sean.

 

객체 리터럴

객체 래퍼를 사용하는 것보다 객체 리터럴을 사용하는 것을 권장한다. ES5부터 객체 리터럴에서 getter와 setter 접근자를 지원한다.

var user = {
	name: 'Sean',
    interests: ['Traveling', 'Workout'],
    greeting: function() {
    	console.log('Hi, I\'m ' + this.name + '.');
    }
}
user.greeting(); 

// output
// Hi, I'm Sean.
var user = {
	role = 'Backend Developer';
	get role() {
    	return role;
    }
    set role(newRole) {
    	this.role = newRole
    }
}
user.role;


// output
// Backend Developer

 

생성자 함수

자바와 유사한 문법을 구사한다.

function User(name, interests) {
	this.name = name;
    this.interests = interests;
    this.greeting = function() {
    	console.log('Hi, I\'m ' + this.name + '.');
    }
}

var user = new User('Sean', ['Traveling', 'Workout']);
user.greeting();

// output
// Hi, I'm Sean.

 

Object.create()

 

 

생성 함수

 

 

ES6의 클래스