Object.key(obj) -> 객체의 키만 담은 배열을 반환한다
Object.values(obj) -> 객체의 값만 담은 배열을 반환한다
Object.entries(obj) -> [키, 값] 쌍을 담은 배열을 반환한다
@객체 변환하기
객체엔 map, filter 같은 배열 전용 메서드를 사용할 수 없다
하지만 Object.entries 와 Object.fromEntries 를 순차적으로 적용해 배열의 메서드를 활용할 수 있다
price 라는 객체를 entries(price) 를 통해 [key,value] 를 지닌 배열로 변환,
map 메서드를 통해 ([a,b]) => [a,b^2] 를 모든 인수에 적용 후
fromEntries 로 다시 객체로 복귀
@배열 분해하기
split 의 경우 반환값이 배열이기 때문이 다음처럼 표현할 수 있다
이렇게 , , 사이에 빈 공간을 이용해 요소를 무시하고 배치할 수 다
배열 뿐 아니라 이터러블에 구조 할당을 할 수 있다
할당 연산자 좌측에는 객체 프로퍼티와 같이 할당할 수 있는 것은 모두 올 수 있습니다
...rest 를 통해 앞에 배치된 요소들을 제외하고 남은 요소를 담은 배열을 만들 수 있다
할당하고자 하는 변수에 = 를 사용해 줌으로서 할당 값이 없을 때의 기본적인 할당값인 기본값을 설정할 수 있다 (default value)
@객체 분해하기
할당 연산자 우측에 분해하고자 하는 객체를, 왼쪽에 객체 프로퍼티의 패턴을 넣는 형식으로 분해한다
할당 연산자 좌측에 분해하려는 객체 프로퍼티와 변수를 바로 연결해 조정할 수 있다
배열과 마찬가지로 프로퍼티가 없을 경우 기본값을 할당해 주기 위해 = 를 사용할 수 있다
객체에서 원하는 프로퍼티의 값만 뽑아올 수 있ㄷ
배열과 마찬가지로 분해하려는 객체의 프로퍼티 갯수가 많아 남은 변수를 어딘가 할당하려 한다면 ...rest 를 사용해 남은 변수들을 객체의 형식으로 할당할 수 있다