객체 리터럴

정지훈·2020년 11월 24일
0

자바스크립트는 객체 기반의 프로그래밍 언어이며 자바스크립트를 구성하는 거의 모든 것이 객체이다. 원시값을 제외한 나머지 값들은 모두 객체이다.

원시 타입은 단 하나의 값만을 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료 구조이다.

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

var person = {
  name: 'Lee',
  age: 20
};

자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 자바스크립트의 함수는 일급 객체이므로 값으로 취급할 수 있다.

객체 생성은 여러가지 방법으로 생성을 할 수 있다.

  • 객체 리터럴
  • Object 생성자 함수
  • 생성자 함수
  • Object.create 메서드
  • 클래스

이러한 객체 생성 방법 중에서 가장 일반적이고 간단한 방법은 객체 리터럴을 사용하는 방법이다.

객체 리터럴은 중괄호({...})내에 0개 이상의 프로퍼티를 정의한다.

프로퍼티

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

const person = {
  name: 'Lee',
  age: 20
};

프로퍼티 키와 프로퍼티 값으로 사용할 수 있는 값은 다음과 같다.

  • 프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 또는 심벌 값
  • 프로퍼티 값: 자바스크립트에서 사용할 수 있는 모든 값

프로퍼티 키는 프로퍼티 값에 접근할 수 있는 이름으로서 식별자 역할을 한다.
하지만 반드시 식별자 네이밍 규칙을 따라야하는 것은 아니다. 단 식별자 네이밍 규칙을 준수하는 프로퍼티 키ㅘ 그렇지 않은 프로퍼티 키는 미묘한 차이가 있다.

네이밍 규칙을 따르지 않으면 반드시 따옴표를 사용해서 접근해야한다. 만약 따르면 마침표와 따옴표를 사용할 수 있다.

식별자 네이밍규칙에서 예약어는 식별자 이름으로 지정할 수 없지만 프로퍼티 키는 사용해도 에러가 발생하지 않는다. 하지만 예상치 못한 에러가 발생할 여지가 있으므로 권장하지 않는다.

메서드

자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값으로 사용할 수 있다고 했다.
그래서 함수는 값으로 취급할 수 있기 때문에 프로퍼티 값으로 사용할 수 있다.

var circle = {
  radius: 5, // ← 프로퍼티

  // 원의 지름
  getDiameter: function () { // ← 메서드
    return 2 * this.radius; // this는 circle을 가리킨다.
  }
};

console.log(circle.getDiameter()); // 10

출저: https://poiemaweb.com/fastcampus/object-literal

0개의 댓글