복습
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 |