728x90
본 글은 '모던 자바스크립트 Deep Dive' 를 참고하여 작성된 글입니다.
객체
- 객체는 변경 불가능한(immutable)한 원시 값과 다르게 변경 가능한 값(mutable value) 이다.
- 객체는 0개 이상의 프로퍼티로 구성된 집합이며 프로퍼티는 key와 value로 구성된다.
- 프로퍼티의 값이 함수일 경우 method라고 부른다.
- 프로퍼티 키가 식별자 네이밍 규칙을 따르지 않을 경우 따옴표를 사용해야 한다.
- 프로퍼티 키에 문자열이나 심벌 값 외의 값을 사용하면 암무적 타입 변환을 통해 문자열이 된다.
- 객체에 존재하지 않는 프로퍼티에 접근하면 ReferenceError를 발생시키지 않고 undefeined를 반환한다.
- delete 키워드를 통해 프로퍼티를 삭제할 수 있다.
ES6에서 추가된 객체 리터럴의 확장 기능
// 프로퍼티 축약 표현
let x = 1, y = 2;
const obj = {x, y}
console.log(x, y); // {x: 1, y:2}
// 계산된 프로퍼티 이름
const prefix = 'prop';
let i = 0;
const obj = {
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i,
[`${prefix}-${++i}`]: i
};
cosole.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3,}
원시 값과 객체의 비교
타입 | 원시 값 (primitive value) | 객체 타입 (object / reference type) |
값의 변경 | 불가능 (immutable) | 가능 (mutable) |
메모리 공간에 저장되는 값 | 실제 값 | 참조 값 |
변수 전달 | pass by value | pass by reference |
반응형
'Languages > JavaScript' 카테고리의 다른 글
[JavaScript 101] 자바스크립트 스코프 (0) | 2022.08.20 |
---|---|
[JavaScript 101] 자바스크립트 함수 (0) | 2022.08.20 |
[JavaScript 101] 자바스크립트 기본 문법 (0) | 2022.08.20 |
[JavaScript 101] 자바스크립트 배경지식 (0) | 2022.08.20 |