객체 (Renewel)
-
객체는 몇 가지 특수한 기능을 가진 연관 배열
-
오직 하나의 데이터를 담을 수 있는 원시형과 달리 다양한 데이터 담기 가능
-
객체 생성법
-
객체 생성자 문법
new Object()
-
객체 리터럴 문법
{}
-
-
객체는 프로퍼티(키-값 쌍) 저장
-
상수 객체 (const 로 선언된 객체) 는 전체적으로 수정할 때 제외(오류 발생)하고 수정 가능
-
프로퍼티 조건
-
프로퍼티 키는 문자열이나 심볼만 가능
-
값은 자료형에 제한 없음
-
-
프로퍼티 접근 방법
-
점 표기법 : obj.property 으로 접근하며 일반적인 접근법. 키가 ‘유효한 변수 식별자’(공백이나 특수문자가 없는 변수 식별자)일때만 사용 가능
-
대괄호 표기법 : obj[“property”] 으로 접근하며 키가 ‘유효한 변수 식별자’가 아닐때 사용
-
-
계산된 프로퍼티란 객체 만들 때 객체 리터럴 안의 프로퍼티 키가 대괄호로 둘러싸여 있는 경우이며 프로퍼티 이름을 변수에 가져올 수 있음
-
단축 프로퍼티란 객체에 키-값 쌍이 아닌 변수만 있는 프로퍼티를 말하며 해당 프로퍼티의 키-값은 변수명-변수값
-
프로퍼티 이름 제약사항
-
예약어 지양
-
문자형, 심볼형 속하지 않은 자료형 (문자열로 자동 형 변환)
-
proto (프로퍼티의 이름이 아닌 객체의 프로토타입이 설정됨)
-
-
객체의 추가 연산자
-
delete obj.prop 으로 프로퍼티 삭제
-
“key” in obj 로 해당 key 가 객체 내에 있는지 확인
-
for (let key in obj) 로 프로퍼티 나열(순회)
-
-
객체 종류
-
순수 객체 : 응용된 객체가 아닌 순수 만든 객체
-
그 외 : Array, Date, Error 등의 기타 등등
-
-
객체마다 고유한 기능 제공
-
Array, Date 는 독립적인 자료형이 아닌 ‘객체’형에 속함
-
객체 정렬 방식
-
정수 프로퍼티(변형 없이 정수 <-> 문자열로 변형 자유로운 프로퍼티) : 자동 정렬
-
그 외 : 객체에 추가한 순서대로 정렬
-