thenable 관점에서 이해하는 JavaScript 비동기 로직
자바스크립트에서 비동기 로직을 다루다 보면 await이나 then 메서드로 값을 처리하는 경우가 많다. 보통 우리는 이런 값을 Promise라고 부르지만, 사실 자바스크립트 엔진은 어떤 값이 진짜 Promise인지 여부보다 then 메서드를 가지고 있는지를 먼저 확인한다. 이렇게 then 메서드를 가진 객체를 thenable이라 부르며, await이나 then 메서드 호출 시 핵심적인 역할을 한다.thenable은 Promise와 유사하게 동작할 수 있는 객체를 의미한다. ECMAScript 명세에 따르면, await와 then 메서드 호출은 내부적으로 동화(assimilation) 과정을 거쳐 모든 thenable을 표준 Promise로 감싸 처리한다. 즉, Promise가 아니더라도 then 메서드만..