객체 리터럴에 의한 객체 생성 방식은 가장 일반적이고, 간단한 객체 생성 방식이다.
const person = {name : "KO"};
객체 리터럴 이외에도 다양한 방법으로 생성 할 수 있다.
new 연산자와 함께 Object 생성자 함수를 호출하면, 빈 객체를 생성하여 반환한다.
빈 객체를 생성한 이후 프로퍼티 혹은 메서드를 추가하여 객체를 완성시킬 수 있다.
const person = new Object();
person.name = "Lee";
person.sayHello = function(){
console.log('Hi! My name is' + this.name);
};
console.log(person); // {name : "Lee", sayHello : f}
<aside> 💡 ✨ 생성자 함수(constructor)란 new 연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수를 말한다.
</aside>
<aside> 💡 생성자 함수에 의해 생성된 객체를 인스턴스(instance)라고 한다.
</aside>
자바스크립트는 Object 생성자 함수 이외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인(built in) 생성자 함수를 제공한다.
그럼 객체 리터럴로 객체 만드는 방식이 더 간편한데… 왜 생성자 함수로 객체를 만드는 걸까???…. 🧐