1) 정의
- 객체, Object : 주체(나, 대상)가 아닌 다른 실체(타인)
- 주체, Subject : '나/대상'이라는 실체, 중심
2) 생활 속 객체 : 모든 것
- 어떠한 대상을 정의할 수 있는 모든 것
개발자(주체자) 관점에서 컴퓨터 속(객체)를 만든다.
(1) 클래스 기반의 객체
class : 객체를 만들기 위한 틀, 설계도, 자바에서는 필수.
(2) 클래스가 없는 객체
{ } 를 이용
(1) 배열
[ ], 인덱스, 자료 순서 有, 목록
(2) 객체
{ }, 속성명, 자료 순서 無, 정보
배열과 객체 자료를 저장하는 메모리 공간
※ 예시
정보를 만들떼는 객체화하고, 동일한 정보(객체)들을 여러개 묶을 때는 배열
이 배열은 하나의 변수에 저장하여 사용
const 제품목록 = [ {name : '콜라', price : 1000} , {name : '사이다', price : 1200} ]
속성명과 자료를 한 쌍(entry)으로 하고, 쉼표로 구분하여 여러 쌍(entry)을 { } 로 감싼다.
속성명은 임의로 작성하되, 특수문자가 포함된 경우 text로 묶는다.
속성명은 자료를 식별하는 목적이므로 중복 불가
console.log( 변수명 ); // 전체 호출
console.log( 변수명.속성명 ); // 특정 속성의 자료 호출 / 접근·도트 연산자 >> 특정 위치로 이동
console.log( 변수명['속성명2'] ); // 속성명에 특수문자 포함 or 변수일 경우
console.log( Object.keys( 변수명 ) ); // 객체 내 모든 속성명(key)를 배열로 반환
console.log( Object.values( 변수명 ) ); // 객체 내 모든 자료(value)를 배열로 반환
console.log( Object.entries( 변수명 ) ); // 객체 내 모든 entry를 배열로 반환
변수 값, 리터럴 값, 객체, 배열, 함수 등 모든 자료 대입 가능
let var1 = 10;
const var2 = {
props1 : 3.14 ,
props2 : var1 ,
props3 : { } ,
props4 : [] ,
props5 : function(){}
};
서로 다른 의미의 자료를 가질 때는 객체
동일한 자료의 의미를 가질 때는 배열
console.log( 'props1' in var2 ) ; // true
console.log( 'props6' in var2 ) ; // false