[모던딥다이브 자바스크립트] 10장 객체 리터럴

zzzzzang_gu·2023년 2월 21일
0

자바스크립트

목록 보기
8/23

자바스크립트는 객체 기반의 프로그래밍 언어이며 , 자바스크립트를 구성하는 거의 모든 것은 객체다.

객체란?

  • 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)로 구성된다.
  • 프로퍼티 값으로 함수도 가능하지만 일반 함수와 구분하기 위해 메서드라 부른다.
  • 객체는 프로퍼티와 메서드로 구성된 집합체다.

인스턴스 : 클래스에 의해 생성되어 메모리에 저장된 실체

객체는 클래스와 인스턴스를 포함한 개념이다. 인스턴스는 객체가 메모리에 저장되어 실제로 존재하는 것에 초점을 맞춘 용어이다.


객체 생성 방법

  • 객체 리터럴 - 변수에 할당되는 시점에 자바스크립트 엔진은 객체 리터럴을 해석해 객체를 생성한다.
  • Object 생성자 함수
  • 생성자 함수
  • Object.creat 메서드
  • 클래스(ES6)

프로퍼티

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

프로퍼티 키는 프로퍼티 값에 접근할 수 있는 이름으로 식별자 역할을 한다. 식별자 네이밍 규칙을 따라야 하는 것은 아니지만, 식벽자 규칙을 따르지 않은 이름의 키에 접근 할 경우 반드시 따옴표를 사용해야 한다.


let obj = {firstName:"PARK","last-name":"wan"};
obj.firstName; //  "PARK"
obj.last-name; // NaN  // 자바스크립트 엔진이 '-'를 연산자가 있는 표현식으로 해석한다.
Obj['last-name']; // 'wan'

객체에 존재하지 않는 프로퍼티에 접근하면 ReferenceError 가 아닌 undefined를 반환한다.

프로퍼티 축약 표현

ES6에서는 프로퍼티 값으로 변수를 사용하는 경우 변수 이름과 프로퍼티 키가 동일한 이름일 때 프로퍼티 키를 생략 할 수 있다. 이때 프로퍼티 키는 변수 이름으로 자동 생성된다.

let x =1 y=2;

//프로퍼티 축약 표현
const obj = {x,y};

console.log(obj); // {x:1,y:2}

profile
프론트엔드 개발자가 되겠습니다🔥

0개의 댓글