오늘은 모던 자바스크립트 튜토리얼에서 5.9 Object.keys, values, entries 와 5.10 구조 분해 할당에 대해 공부했다.
5.9에선 맵과 객체에서 keys, values, entries와 같은 메서드를 사용할 때 주의해야 할 차이점이 존재한다는 것이 이 장에서 가장 기억에 남는다. 맵은 keys(), values(), entries()와 같이 사용해도 괜찮지만, 객체는 Object.keys()와 같이 사용하면 안된다. keys, values, entries와 같은 메서드 모두 keys(obj), values(obj), entries(obj)처럼 객체를 매개 변수로 넣어줘야하며, 이런 메서드를 사용할 때, 맵은 iterable 객체를 반환하고, 객체는 진짜 배열을 반환한다는 것이다. 모던 자바스크립트 튜토리얼을 배우기 전에 맵과 객체 메서드에 대한 차이점을 공부하지 않아서 객체와 배열 메서드를 사용할 때 그 메서드가 인수로 무엇을 받는지, 안받는지 또 반환은 무엇을 하는지 제대로 알지 못한 채로 마구잡이로 사용한 경험이 있었는데, 앞으로 맵과 객체 메서드 코드를 작성할 때, 이러한 점들을 유의하며 작성해야겠다.
5.10 구조 분해 할당을 공부하기 전에는 사용자의 정보를 다룬다고 할 때, 사용자의 이름 아이디와 같은 정보들을 여러 줄에 걸쳐 작성한 기억을 떠올리게 했다. 앞으로 사용자의 정보를 객체로 받는다고 가정하면, 여러 줄에 걸쳐 작성하지 말고, 구조 분해 할당을 이용하여 필요한 정보만 깔끔하게 다루는 아이디어를 가지게 되었다. 그리고 그 외에도 ...를 통해 다루는 정보를 제외한 나머지 정보를 가져올 수도 있다는 개념, :을 통해 목표하는 프로퍼티의 이름을 바꿀 수도 있다는 개념과 함수를 호출할 때 모든 인수를 기본값으로 사용하고 싶으면 그냥 호출하는 것이 빈 객체를 호출해야 한다는 것들이 얼른 실제에서 코드를 작성할 때 적극적으로 써보고 싶다는 설렘을 줬다! 아직, 객체나 배열을 많이 다뤄본 적이 없어서 객체와 배열을 편하게 작성한 기억이 거의 0에 수렴할 정도인데, 앞으로는 객체와 배열을 편하게 만들 수 있을 정도로 많이 만들어보고 이런 객체와 관련된 개념을 적극적으로 써봐야겠다.
'TIL' 카테고리의 다른 글
TIL - 20220509 (0) | 2022.05.09 |
---|---|
TIL - 20220508 (0) | 2022.05.08 |
TIL - 20220506 (0) | 2022.05.06 |
TIL - 20220505 (0) | 2022.05.05 |
TIL - 20220504 (0) | 2022.05.04 |