JS 객체, 구조분해할당

박지윤·2022년 7월 28일
0

객체

key-value 쌍을 저장하는 자료형

  • key : 문자열 사용(문자열로 자동형변환)
  • value : 아무 자료형이나 올 수 있음
    //value가 함수 인 경우 메소드!

프로퍼티 (프로퍼티명: 프로퍼티 값)

선언법:

let user = { name:'john' age:30 , ---}
      : const myKey = 'name'
        const user = {
          ['age'] = 5
          [mykey]: 'john',
        }

객체에 저장된 value에 접근하는 법
1. 객체.프로퍼티명
2. 객체["프로퍼티명"] //변수를 사용하여 접근할 때 유용

객체는 참조 타입

let myObj = {name:'john'} ->address A ---> {name:'john'}

address A라는 참조값을 통해 실제 a주소를 간접적으로 접근!

참조타입 변수의 복사는 개체가 복사된 것이 아니라 참조 값의 주소을 복사한 것!!

참소 값을 가지는 게 얕은 복사
새로운 주소에 같은 복사에서 가지게 하는 것이 깊은 복사

참조타입 비교 == 참조값의 비교

  • 참조가 가리키는 실제 값의 비교가 아님!

주의사항

프로퍼티 명이 중복되는 경우 나중에 선언되는 프로퍼티로 덮어씌어짐
key 자료형이 문자열이 아닌 경우 자동으로 형변환

user.1 // 안 됨.
user[1] or user['1']

객체를 문자열로 바꾸면 '[object Object]' 을 반환

구조분해할당

  • destruturing, value를 변수로 만들 떄 유용
  • 여러 개의 value를 한번에 변수로 만들 때 특히 유용!
 var d = obj.a
 var e = obj.b
 var f = obj.c

var {a:d, b:e, c:f} = obj

var {someKey}  =obj
var somekey = obj.somekey
profile
화이팅~

0개의 댓글