Gio_J
Gio's dev archive
Gio_J
전체 방문자
오늘
어제
  • 분류 전체보기 (20)
    • PS (10)
      • BOJ (8)
      • Programmers (2)
    • CS (0)
      • Operating System (0)
      • Network (0)
      • Data Base (0)
    • Data Structure (0)
    • Algorithm (0)
    • JavaScript (9)
      • DeepDive (9)
    • React (0)
    • Tools (1)

블로그 메뉴

  • 홈
  • GitHub
  • solved
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • boj
  • PS
  • programmers
  • vscode
  • Visual Studio Code
  • c++
  • DeepDive
  • JS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Gio_J

Gio's dev archive

JavaScript/DeepDive

[JavaScript] 객체 리터럴

2022. 7. 14. 15:21

객체란?

자바스크립트에서 원시값을 제외한 모든 값이 객체이다.

원시값은 변경이 불가한(immutable value) 값이지만 객체는 변경 가능한(mutable value)이다.

객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키(key)와 값(value)로 구성되어있다.

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

 

 

프로퍼티

프로퍼티는 키와 값으로 ( key : value) 형태로 이루어지는데 키는 식별자 네이밍 규칙을 따르지 않을 경우 반드시 따옴표를 사용해야 한다.

 

객체의 프로퍼티의 키값이 중복 선언되면, 나중에 선언된 것으로 먼저 선언한 프로퍼티를 덮어쓴다. 

프로퍼티의 값에는 함수도 올 수 있는데 객체의 프로퍼티에 선언된 함수를 자바스크립트에서 메서드라고 부른다.

 

객체의 프로퍼티는 동적으로 생성될 수 있는데 기존 객체에 존재하지 않는 프로퍼티에 값을 할당하면 동적으로 생성되어 추가된다.

let person = {
	name: "Kim"
}

person.age = 20

// person = {name: "Kim", age: 20}

 

객체의 프로퍼티를 삭제하기 위해서는 delete 연산자를 사용해야 하는데 피 연산자는 프로퍼티 값에 접근할 수 있는 표현식이어야만 한다.

'JavaScript > DeepDive' 카테고리의 다른 글

[JavaScript] let, const 키워드와 블록 레벨 스코프  (0) 2022.07.21
[JavaScript] 스코프  (0) 2022.07.14
[JavaScript] 타입변환과 단축평가  (0) 2022.07.14
[JavaScript] 원시타입과 객체타입의 차이  (0) 2022.07.13
[JavaScript] 제어문  (0) 2022.07.07
    'JavaScript/DeepDive' 카테고리의 다른 글
    • [JavaScript] let, const 키워드와 블록 레벨 스코프
    • [JavaScript] 스코프
    • [JavaScript] 타입변환과 단축평가
    • [JavaScript] 원시타입과 객체타입의 차이
    Gio_J
    Gio_J
    dev archive

    티스토리툴바