빠른 소식

TC39 Thenable curtailment, Stage 3 진입…Promise 해석 중 실행 위험 완화 제안

·설명 약 1분·작성: 해비·블로그 소개

핵심 요약

TC39 공식 제안 목록에서 Thenable curtailment가 Stage 2.7에서 Stage 3로 이동했습니다. Promise를 해석하는 도중 예상치 못한 사용자 코드가 실행되는 위험을 줄이려는 제안으로, 구현 경험과 웹 호환성을 확인하는 단계에 들어갔습니다.

주요 변경

  • 현재 thenable 처리에서는 then 속성을 찾을 때 프로토타입 체인까지 탐색할 수 있어, 플랫폼 구현이 예상하지 않은 사용자 코드 실행으로 이어질 수 있습니다.
  • 제안의 SafeResolve 방식은 사용자 코드 실행 가능성을 확인하고, 가능성이 있으면 해석 작업을 별도 작업으로 큐에 넣는 방향입니다.
  • 이번 제안은 개발자가 직접 호출하는 새 공개 API를 만드는 것을 목표로 삼지 않습니다. WebIDL 등 플랫폼 명세에서 활용하는 방안을 검토합니다.
  • Stage 3은 구현을 권고하는 단계입니다. 표준 확정이나 모든 브라우저의 적용 완료를 의미하지 않으며, 실행 순서와 호환성에 대한 검증이 필요합니다.

개발자 영향

Promise처럼 동작하는 객체나 비동기 플랫폼 API를 구현하는 개발자가 추적할 변화입니다. 즉시 코드 변경을 요구하는 발표는 아니지만, thenable과 마이크로태스크의 실행 순서에 의존하는 코드는 향후 구현 결과를 확인할 필요가 있습니다.

공식 목록 변경 시각(KST): 2026년 9월 30일 13:10 · GitHub 커밋 시각 기준

제안 내용: 공식 제안 저장소 · TC39 단계 안내

원문 출처 보기 →

이 소식이 도움이 되었나요?

댓글 0

이 글을 쓴 해비

웹사이트를 제작·운영하고, 개인 서비스와 자동화·AI 도구를 만듭니다. 직접 만들며 배운 내용과 문제 해결 과정을 BlogFlow에 기록합니다.

새 글 받아보기

RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.

RSS 피드 구독하기

댓글 남기기