자바스크립트 기초문법8 -object에 대하여-

1. 개요

 

객체는 속성의 집합이고, 중괄호 내부에 key와 value의 쌍으로 표현

 

파이썬의 dictionary

 

key는 문자열 타입만 가능하고, 띄어쓰기 등의 구분자가 있으면 따옴표로 묶어서 나타낸다.

 

value는 함수 포함 모든 타입 가능하다

 

객체의 요소에 대한 접근은 점(.)이나 대괄호([])가 가능하다.

 

key 이름에 띄어쓰기 같은 구분자가 있으면 대괄호 접근만 가능하다

 

 

 

띄어쓰기가 있으면 .으로는 접근 못하고, key에서 ''으로 묶어야한다는게 무슨 말인지 알겠지

 

 

2. 속성명 축약

 

객체 정의할때, key와 할당하고자 하는 변수의 이름 value가 서로 같으면 key:value로 쓰던걸 key,로 축약 가능

 

예를 들어 다음과 같이 축약이 가능하다

 

 

3. 메소드명 축약

 

메소드를 value로 가질때, function 키워드는 생략가능하다

 

 

 

4. 계산된 속성(computed property name)

 

객체를 정의할 때 key의 이름을 표현식을 이용하면 동적으로 정의 가능하다

 

 

 

[]를 빼면 어떻게 될까..?

 

 

근데 이게 의미가 있나..?? 그냥 country라고 하면 되는거 아니야?

 

뭐 아무튼 쓸데가 있나보지

 

 

5. 구조 분해 할당(destructing assignment)

 

배열이나 객체를 분해해서 속성값을 변수에 쉽게 할당하게 해준다

 

이전에는 아래와 같이 했다는데

 

 

최신 문법은 다음과 같다고 함..

 

변수선언키워드 {변수명1,변수명2,...} = 객체명

 

뭔가 큰 차이 없는것 같았는데

 

자세히 보니까 조금 더 편한것 같기도

 

 

 

6. 전개구문(spread syntax)

 

배열과 마찬가지로 전개구문으로 객체 내부에서 객체 전개 가능하다

 

얕은 복사 활용가능

 

 

 

7. JSON

 

JavaScripts Object Notation

 

key - value 형태로 이루어진 자료 표기법이다.

 

자바스크립트의 object와 유사한 구조를 가지고 있지만 object는 그 자체로 타입이고 

 

JSON은 형식이 있는 문자열이다.

 

 >> JSON을 object로 사용하기 위해서는 변환작업이 필요함

 

먼저 object를 JSON으로 바꾸는 법

 

JSON.stringify를 이용

 

 

 

다음 JSON을 JSON.parse에 넣어주면 object로 바꿔준다..

 

 

 

확실히 위(JSON) 아래(object) 미묘하게 출력이 조금 다르긴 하네..?

 

 

8. 배열도 하나의 객체

 

배열도 하나의 객체이다.

 

키와 속성들을 담고 있는 참조 타입의 객체임

 

배열은 인덱스를 key로 가지고 대응하는 원소를 value로 가진다.

 

length라는 하나의 속성도 가지고 있다

 

다음은 [1,2,3]이 어떻게 객체로 구성되어있는지 보여줌

 

TAGS.

Comments