Web/JavaScript
[JavaScript] 자바스크립트 객체(object) (1) : 참조 및 생성
s_ih_yun
2021. 8. 3. 19:01
728x90
자바스크립트 객체
- JS의 기본 타입은 객체(object)
- 객체 : 이름과 값으로 구성된 프로퍼티의 정렬되지 않은 집합
- 함수가 객체의 프로퍼티의 값으로 오면, 메소드(method0라고 부른다
- 객체의 프로퍼티 및 메소드 참조
객체이름.프로퍼티이름
객체이름["프로퍼티이름"]
객체이름.메소드이름()
var person = {
name: "홍길동",
birthday: "030219",
pId: "1234567",
fullId: function() {
return this.birthday + this.pId;
}
};
person.name // 홍길동
person["name"] // 홍길동
person.fullId() // 0302191234567
person.fullId; // function () { return this.birthday + this.pId; }
- 메소드를 참조할 때 괄호를 붙이지 않으면, 메소드 그 자체를 참조하여 메소드 정의 그 자체가 반환된다
객체 생성
1. 리터럴 표기(literal notation)를 이용한 방법
var 객체이름 = {
프로퍼티1이름 : 프로퍼티1의값,
프로퍼티2이름 : 프로퍼티2의값,
...
};
2. 생성자 함수(constructor function)를 이용한 방법
- new 연산자를 사용하여 객체를 생성하고 초기화할 수 있다
- 이 때 사용되는 메소드를 생성자(constructor)라고 하며, 새롭게 생성되는 객체를 초기화하는 역할을 한다
- JS는 원시 타입을 위한 생성자를 미리 정의하여 제공한다
- (예) 자바스크립트에서 제공하는 생성자를 사용
var day = new Date(); // new 연산자를 사용하여 Date 타입의 객체를 생성함.
document.write("올해는 " + day.getFullYear() + "년입니다.");
- 사용자가 직접 객체 생성자 함수를 작성하여 사용할 수도 있다
3. Object.create() 메소드를 이용한 방법
- Object.create() 메소드 : 지정된 프로토타입 객체와 프로퍼티를 가지고 새로운 객체로 만든다
- 사용자가 프로토타입 객체를 직접 명시할 수 있다는 점에서 유용하다
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); // 객체의 프로토타입을 반환해 줌.
[참고자료] http://tcpschool.com/javascript/intro
728x90