[JavaScript] 모던 자바스크립트 Deep Dive 10장 객체 리터럴

Lily·2022년 4월 24일
0

객체 리터럴

객체란?

  • 객체 타입이란 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조
  • 원시 값 : 변경 불가능한 값
  • 객체 타입의 값 : 객체는 변경 가능한 값

객체 리터럴에 의한 객체 생성

  • 인스턴스란 클래스에 의해 생성되어 메모리에 저장된 실체를 말한다.
  • 객체 리터럴의 중괄호는 코드 블록을 의마하지 않는다. 코드 블록의 닫는 중괄호 뒤에는 세미콜론을 붙이지 않는다. 하지만 객체 리터럴은 값으로 평가되는 표현식이다.

메서드

  • 메서드는 객체에 묶여 있는 함수

메서드의 축약 표현

let = obj { 
  name : 'Lee',
  sayHi : function() {
  console.log('Hi! ' + this.name);
  }
 };
 
 obj.sayHi();
let = obj { 
  name : 'Lee',
  sayHi () {
  console.log('Hi! ' + this.name);
  }
 };

프로퍼티

  • 객체는 프로퍼티의 집합이며, 프로퍼티는 키와 값으로 구성된다.

❗️ 주의: 이미 존재하는 프로퍼티 키를 중복 선언하면 나중에 선언한 프로퍼티가 먼저 선언한 프로퍼티를 덮어쓴다. 이때 에러가 발생하지 않으니 주의하자!

프로퍼티 삭제

let person = {
name: 'Lee'
};

delete person.name;

계산된 프로퍼티 이름

let prefix = 'prop';
let i = 0;

let obj = {};

obj[prefix + '_' + ++i] = i;
obj[prefix + '_' + ++i] = i;
obj[prefix + '_' + ++i] = i;

console.log(obj); // {prop-1: 1, prop-2: 2, prop-3: 3}

프로퍼티 키의 생략

  • 프로퍼티 값으로 변수를 사용하는 경우 변수 이름과 프로퍼티 키가 동일한 이름일 때 프로퍼티 키를 생략할 수 있다. 이때 프로퍼티 키는 변수 이름으로 자동 생성된다.
let x = 1, y = 2;

let obj = {
   x : x,
   y : y
 };
 
let obj = { x, y };

0개의 댓글