본문 바로가기
자바스크립트 중급 강의

객체 메소드(Object methods), 계산된 프로퍼티(Computed property) -자바스크립트 중급 강좌 #3

2021. 10. 27.

자바스크립트 중급 강좌 #3 - 객체 메소드(Object methods), 계산된 프로퍼티(Computed property)

 

Computed property

이렇게 age를 직접 써줄 수도 있지만,

a를 대괄호로 묶어서 넣어줄 수도 있다. 그러면 a라는 문자열이 아니라, a 에 할당된 값이 들어가게 된다.

이것을 computed property 라고 한다.

이렇게 식 자체를 넣는 것도 가능하다.

이렇게 어떤 것이 키가 될 지 모르는 경우에 유용하다.

 

객체 메소드 (Object Methods)

 

Object.assign() : 객체 복제

user 변수에는 객체가 들어가 있는 것이 아니라, 객체가 저장된 메모리 주소인 객체에 대한 참조값이 저장된다.

그러므로, cloneUser에 user 를 넣는 것은 객체가 복사되면서 들어가는 게 아니라 그 참조값만 복사되는 것이다.

이런 경우, 하나의 객체를 두 변수에서 참조하고 있는 게 된다.

그러므로 cloneUser의 name을 바꾸면 user의 name도 같이 바뀐다.

객체를 복사하고 싶다면 Object.assign 메소드를 써야한다.

object.assign 의 첫번째 매개변수는 초기값이고, 두번째 배개변수가 초기값에 병합된다.

이 경우, 같은 객체가 아니므로 newUser의 name을 바꿔도 user의 name 은 바뀌지 않는다. 

초기값에 user를 병합하는 것이므로 총 3개의 프로퍼티를 갖게 된다. 

만약 key 가 같다면, 덮어쓴다.

2개 이상 병합도 가능하다.

 

Object.keys() : 키 배열 반환

user의 key 들을 배열로 반환한다.

 

Object.values() : 값 배열 반환

user의 value 만 배열로 반환한다.

 

Object.entries() : 키/값 배열 반환

키와 값을 쌍으로 묶어서 배열로 반환한다.

 

Object.fromEntries() : 키/값 배열을 객체로 반환

키와 값을 쌍으로 묶어준 배열을 객체로 반환한다.

댓글