Object
자바스크립트의 거의 모든 것은 객체이다.
이는 기본 데이터타입인 boolean, number, string 그리고 특별한 값인 undefined, null을 제외한 나머지는 모두 객체이기 때문이다.
하지만 boolean, number, string 인 기본 데이터타입은 모두 객체처럼 다룰 수도 있다.
그렇기 때문에 자바스크립트는 null과 undefined를 제외한 모든 것을 객체로 다룰 수 있다.
객체(Object)란 단지 이름이 지정된 프로퍼티(property)의 모음이며, 키(key) : 값(value)의 쌍으로 이루어진 목록이다.
자바스크립트에서 기본 데이터타입은 하나의 값만을 가지는 데 비해, 참조 타입인 객체는 여러 개의 프로퍼티를 포함할 수 있다.
여기서 참조 타입이라 함은 객체의 실제 위치를 가리키는 포인터이다.
객체 리터럴 방식으로 객체 생성하는 방법
var obj = {
prop1 : '문자열', // string
prop2 : 2015, // number
prop3 : true, // boolean
prop4 : { }, // 객체 리터럴
prop5 : [], // 배열
prop6 : function() {} // 함수
};
/*
이렇게 객체의 프로퍼티는 다양한 타입들을 포함한다.
여기서 prop6과 같이 프로퍼티의 값이 함수인 경우 이러한 프로퍼티를 method(메소드)라고 부른다.
하여 함수와 메소드는 엄격히 말해 구분되는 용어이다.
*/
// prop6를 호출
obj.prop6(); // 간단히 말해 마침표(.)표기법으로 이루어진 것을 메소드
생성자 함수를 이용한 객체 생성하는 방법
자바스크립트에서는 객체를 생성할때 내장 Object()인 빌트인 생성자 함수를 제공한다.
객체를 생성하는 함수를 생성자 함수라고 부르는데 자세한 설명은 다음에~
//Object()를 이용해서 obj 빈 객체를 생성
var obj = new Object();
// obj 객체 프로퍼티를 생성
obj.prop1 = '문자열';
obj.prop2 = 30;
obj.prop3 = function() {};
console.log(typeof obj); // object
console.log(obj);
// {prop1: "문자열", prop2: 30, prop3: function}
객체는 기능(method)과 속성(property)을 가지고 있다. (속성들의 집합)
객체만이 메소드를 소유할 수 있다.
객체.속성이름() => 객체의 메소드를 실행.
객체.속성 => 객체의 속성 값을 가져온다.
객체.속성 = 값셋팅; => 속성값을 설정하거나 설정되어 있는 값을 바꿀 수 있다.
Jaehee's WebClub
'JavaScript > Core & 개념ㆍ용어' 카테고리의 다른 글
Object 객체 정의 - 객체 리터럴 및 사용자 정의 객체 (5) | 2016.09.29 |
---|---|
Object와 Object()와의 차이점 (0) | 2016.09.29 |
객체 지향 프로그래밍(OOP) (0) | 2016.09.29 |
switch(조건 제어문) (0) | 2016.09.29 |
변수 스코프, token, 메소드 시그니처, 예외란... (1) | 2016.09.29 |