바르고 뜨겁게

Javascript - 객체 리터럴 (object literal) 본문

자바스크립트/Vanilla Js

Javascript - 객체 리터럴 (object literal)

RightHot 2020. 10. 16. 21:30

Javascript - 객체 리터럴 (object literal)

Javascript 객체 생성 방법

  1. new Object()

  2. Object.create()

  3. 리터럴 표기법

객체 초기자(object initializer)는 0개 이상인 객체 속성명 및 관련값 쌍 목록이 콤마로 분리되어 중괄호({})로 묶인 형태

용어의 뜻 : literal 이란?

컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동소수점 숫자, 문자열, 불린 자료형과 같은 용어를 가지고 있다. 어떤 언어는 열거 타입이나, 배열, 자료형, 객체와 같은 용어도 있다.

리터럴과 대조적으로, 고정된 값을 가질 수 있는 변수나 변경되지 않는 상수가 있다.

객체 리터럴 생성 및 접근 예제

 let object = {
   name: 'rightHot',
   birth: new Date('1991-01-01'),
   getAge() {
     return (new Date().getFullYear() - this.birth.getFullYear()) + 1;
  }
 }
 
 console.log(object.name) // rightHot
 console.log(object.birth) // Tue Jan 01 1991 09:00:00
 console.log(object.getAge()) // 30

객체 리터럴 표기법 vs JSON

객체 리터럴 표기법은 JavaScript Object Notation (JSON)과 같지 않습니다. 비슷해 보이지만, 차이가 있습니다:

  • JSON은 "property": value 구문을 사용한 속성 정의 허용합니다. 속성명은 큰 따옴표로 묶여야 하고, 정의는 단축(명)일 수 없습니다.

  • JSON에서 값은 오직 문자열, 숫자, 배열, true, false, null 또는 다른 (JSON) 객체만 될 수 있습니다.

  • 함수 값(아래 "메서드" 참조)은 JSON에서 값에 할당될 수 없습니다.

  • Date 같은 객체는 JSON.parse() 후에 문자열이 됩니다.

  • JSON.parse()는 계산된 속성명을 거부하고 오류를 발생합니다.

참조

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Object_initializer

Comments