본문 바로가기
[JavaScript]

[JavaScript] 객체 (Object)

by 북방바다코끼리표범 2023. 8. 22.

복습

https://shins99.tistory.com/51

 

[JavaScript] 배열 (Arrays)

복습 https://shins99.tistory.com/50 [JavaScript] 제어문 (if, switch, for, while, do~while) 복습 https://shins99.tistory.com/49 [JavaScript] 연산자 복습 https://shins99.tistory.com/47 [JavaScript] 변수와 자료형 복습 https://shins99.tisto

shins99.tistory.com


객체(object)란?

 

- 객체(object)란 실생활에서 우리가 인식할 수 있는 사물

 

자바스크립트 객체

 

- 자바스크립트의 기본 타입(data type)은 객체(objec)

- 객체란 이름(name) + 값(value)으로 구성된 프로퍼티(property)의 정렬되지 않은 집합

- 프로퍼티의 값으로 함수가 올 수도 있는데, 이런 프로퍼티를 메소드(method)라고 함

- 자바스크립트에서는 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체

(숫자, 문자열, 불리언과 같은 원시 타입은 값이 정해진 객체로 취급되어, 객체로서의 특징도 함께 가진다)

 

객체의 프로퍼티 참조

1
2
3
4
5
문법
객체이름.프로퍼티이름
 
또는
객체이름["프로퍼티이름"]
cs

객체의 메소드 참조

 

1
2
문법
객체이름.메소드이름()

 

객체의 생성

 

- 자바스크립트에서 객체를 생성하는 방법

 

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

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
객체 생성
// 참조변수 = 해당 객체를 가리키는 변수
let 참조변수 = new 생성함수(...);
let 참조변수 = new Object();
 
속성 부여
객체명.속성명 = 값;
 
메서드 구현
// 속성을 이용하여 기능 구현
객체명.메서드명 = function() {
    코드;
}
 
객체 리터럴 (객체 표현식)
let 객체명 = {
    // 속성부여
    속성명1 : 속성값1,
    속성명2 : 속성값2,
    ...
    // 메서드 구현
    메서드명 : function {
    코드;
    }
};
cs

1
2
3
4
5
6
7
8
9
10
11
12
13
속성 호출
객체명.속성명
// 해당 객체의 메서드 내부인 경우
this.속성명
 
메서드 호출
객체명.메서드명();
 
속성값 변경
객체명.setAttribute("속성명", 새_속성값);
// 또는
객체명.속성명 = "새_속성값";
 
cs

 

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

 

- 자바스크립트에서 객체를 생성하는 가장 쉬운 방법은 리터럴 표기(literal notation)를 이용하는 방법

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

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

- new 연산자를 사용하여 객체를 생성하고 초기화가능
- 이때 사용되는 메소드를 생성자(constructor)라고 함(새롭게 생성되는 객체를 초기화하는 역할)
- 자바스크립트는 원시 타입을 위한 생성자를 미리 정의하여 제공

 

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

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

 

- Object.create() 메소드를 이용하여 객체 생성가능

- Object.create() 메소드는 지정된 프로토타입(prototype) 객체와 프로퍼티를 가지고 새로운 객체를 생성

- 따라서 이 메소드를 이용하면 사용자가 프로토타입 객체를 직접 명시할 수 있으므로, 상당히 유용하게 사용가능

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

'[JavaScript]' 카테고리의 다른 글

[JavaScript] 함수  (23) 2023.08.23
[JavaScript] 유용한 자바스크립트 내장 함수들  (13) 2023.08.22
[JavaScript] 배열 (Arrays)  (18) 2023.08.21
[JavaScript] 제어문 (if, switch, for, while, do~while)  (15) 2023.08.19
[JavaScript] 연산자  (13) 2023.08.18