2022/06/16 2

[JavaScript] Promise - callback 우아하게 처리하기

callback 함수를 우아하게 처리할 수 있는 Promise에 대해 소개합니다. A, B 라는 두 가지 상황이 있다고 가정하겠습니다. 우리는 A라는 상황이 실행되고 A의 결과에 따라 B가 실행되기 희망합니다. 이 때 어떠한 방식으로 이를 구현할 수 있을까요? 대표적으로 callback 함수를 이용하는 방법이 있습니다. A 함수의 Parameter에 B 함수를 넣고 A 함수가 완료되면 B 함수를 실행하도록 하는 것이죠. callback은 비동기 상황을 해결하는 가장 간단한 방법입니다. 하지만 A, B라는 두 상황이 A, B, ... F 까지 있다면 어떨까요. callback으로 이 상황을 표현할 수 있을까요? 물론 표현할 수 있습니다. 하지만 상당히 많은 callback을 중첩해서 사용해야 할 것입니다...

[JavaScript] Map & WeakMap, Set & WeakSet

Map&Set은 ES6에서 새롭게 추가된 데이터 구조입니다. Map Key-Value로 구성된 데이터구조입니다. WeakMap (WeakMap에 대해 설명하기전에 먼저 Deep Copy, Weak Copy에 대해 이해하면 아래 내용을 쉽게 이해할 수 있을 것 입니다.) 객체만을 키로 사용할 수 있습니다. (Primitive 타입은 키로 사용할 수 없습니다) 가비지컬렉션의 대상이됩니다. Enumerable 하지 않습니다. (열거할 수 없습니다) 위의 사전적정의를 이해해보도록 합시다. 먼저 Map은 n개의 key배열이 있다면 반드시 n개의 value배열이 있을 것입니다. 만약 우리가 n-1번째 value값을 찾고자 한다면 key배열을 순회하여 일치하는 key를 찾고 그 인덱스를 이용하여 value배열에서 ..