2023. 1. 3. 11:50ㆍJavascript/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); // 객체의 프로토타입을 반환해 줌.
프로토타입 객체에 대한 더 자세한 사항은 자바스크립트 프로토타입 수업에서 확인
참고
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'Javascript > TCP school' 카테고리의 다른 글
객체 프로퍼티와 메소드 (0) | 2023.01.04 |
---|---|
객체 다루기 (0) | 2023.01.03 |
객체의 개념 (0) | 2023.01.03 |
미리 정의된 전역 함수 (0) | 2023.01.03 |
매개변수와 인수 (0) | 2023.01.02 |