객체란?
자바스크립트에서 원시값을 제외한 모든 값이 객체이다.
원시값은 변경이 불가한(immutable value) 값이지만 객체는 변경 가능한(mutable value)이다.
객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)로 구성되어있다.
객체 리터럴은 {...} 중괄호 내에 0개 이상의 프로퍼티를 정의한 것이다.
프로퍼티
프로퍼티는 키와 값으로 ( key : value) 형태로 이루어지는데 키는 식별자 네이밍 규칙을 따르지 않을 경우 반드시 따옴표를 사용해야 한다.
객체의 프로퍼티의 키값이 중복 선언되면, 나중에 선언된 것으로 먼저 선언한 프로퍼티를 덮어쓴다.
프로퍼티의 값에는 함수도 올 수 있는데 객체의 프로퍼티에 선언된 함수를 자바스크립트에서 메서드라고 부른다.
객체의 프로퍼티는 동적으로 생성될 수 있는데 기존 객체에 존재하지 않는 프로퍼티에 값을 할당하면 동적으로 생성되어 추가된다.
let person = {
name: "Kim"
}
person.age = 20
// person = {name: "Kim", age: 20}
객체의 프로퍼티를 삭제하기 위해서는 delete 연산자를 사용해야 하는데 피 연산자는 프로퍼티 값에 접근할 수 있는 표현식이어야만 한다.
'JavaScript > DeepDive' 카테고리의 다른 글
[JavaScript] let, const 키워드와 블록 레벨 스코프 (0) | 2022.07.21 |
---|---|
[JavaScript] 스코프 (0) | 2022.07.14 |
[JavaScript] 타입변환과 단축평가 (0) | 2022.07.14 |
[JavaScript] 원시타입과 객체타입의 차이 (0) | 2022.07.13 |
[JavaScript] 제어문 (0) | 2022.07.07 |