객체의 생성

2023. 1. 3. 11:50Javascript/TCP school

객체의 생성

객체를 생성하는 방법

1. 리터럴 표기(literal notation)를 이용한 방법

2. 생성자 함수(constructor function)를 이용한 방법

3. Object.create() 메소드를 이용한 방법

 

인스턴스(instance) - 위와 같은 방법으로 생성되어 메모리에 대입된 객체


리터럴 표기를 이용한 객체의 생성

가장 쉬운 방법

문법
var 객체이름 = {
    프로퍼티1이름 : 프로퍼티1의값,
    프로퍼티2이름 : 프로퍼티2의값,
    ...
};

각각의 프로퍼티는 이름과 값을 콜론(:)으로 연결하고, 쉼표(,)를 사용해 다른 프로퍼티와 구분

프로퍼티의 이름으로는 자바스크립트의 식별자(identifier)나 문자열을 사용할 수 있음

 

예제
var kitty = {
    name: "나비",
    family: "코리안 숏 헤어",
    age: 1,
    weight: 0.1
};
document.write("우리 집 새끼 고양이의 이름은 " + kitty.name + "이고, 종은 " + kitty.family + "입니다.");

코딩연습 ▶


생성자를 이용한 객체의 생성

new 연산자를 사용하여 객체를 생성하고 초기화

생성자(constructor)

이때 사용되는 메소드

이 메소드는 새롭게 생성되는 객체를 초기화

자바스크립트는 원시 타입을 위한 생성자를 미리 정의하여 제공

 
예제
var day = new Date(); // new 연산자를 사용하여 Date 타입의 객체를 생성함.
document.write("올해는 " + day.getFullYear() + "년입니다.");

코딩연습 ▶

위의 예제처럼 자바스크립트에서 제공하는 생성자를 사용할 수도 있으며, 사용자가 직접 객체 생성자 함수(object constructor function)를 작성하여 사용할 수도 있음

 

객체 생성자 함수에 대한 더 자세한 사항은 자바스크립트 프로토타입 수업에서 확인

자바스크립트 프로토타입 수업 확인 =>


Object.create() 메소드를 이용한 객체의 생성

Object.create() 메소드

지정된 프로토타입(prototype) 객체와 프로퍼티를 가지고 새로운 객체를 만들어 줌

사용자가 프로토타입 객체를 직접 명시할 수 있음. 상당히 유용.

 
문법
Object.create(프로토타입객체[, 새로운객체의프로퍼티1, 새로운객체의프로퍼티2, ...]);

첫 번째 인수로 - 프로토타입으로 사용할 객체를 전달

두 번째 인수로 - 새로운 객체의 추가할 프로퍼티 정보를 전달

 

예제
var obj = Object.create(null, {             // null 프로토타입을 사용하여 새로운 객체를 만들고
   x: { value: 100, enumerable: true },    // x좌표를 나타내는 열거할 수 있는 프로퍼티와
   y: { value: 200, enumerable: true }     // y좌표를 나타내는 열거할 수 있는 프로퍼티를 추가함.
});
obj.x;                      // x좌표
obj.y;                      // y좌표 
Object.getPrototypeOf(obj); // 객체의 프로토타입을 반환해 줌.

코딩연습 ▶

프로토타입 객체에 대한 더 자세한 사항은 자바스크립트 프로토타입 수업에서 확인

자바스크립트 프로토타입 수업 확인 =>


참고

 

'Javascript > TCP school' 카테고리의 다른 글

객체 프로퍼티와 메소드  (0) 2023.01.04
객체 다루기  (0) 2023.01.03
객체의 개념  (0) 2023.01.03
미리 정의된 전역 함수  (0) 2023.01.03
매개변수와 인수  (0) 2023.01.02