본문 바로가기

Languages/JavaScript

[JavaScript 101] 자바스크립트 객체

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

 

 

 

 

 

반응형