Posted On 2026년 02월 15일

TC39가 Records와 Tuples 제안을 철회했다

nobaksan 0 comments
여행하는 개발자 >> 기술 >> TC39가 Records와 Tuples 제안을 철회했다

TC39가 Records와 Tuples 제안을 철회했다. 합의에 도달하지 못한 후의 결정이다. JavaScript에 불변 데이터 구조를 네이티브로 추가하려던 오래된 노력이 좌절됐다.

Records와 Tuples는 깊은 불변성을 가진 객체와 배열을 제공하려 했다. 값 기반 동등성 비교가 가능하고, Map과 Set의 키로 사용할 수 있을 예정이었다. 많은 개발자가 기대했던 기능이다.

합의 실패의 이유

주요 논쟁점은 구문과 시맨틱스였다. 제안은 #{ } 구문을 사용했는데, 기존 JavaScript 문법과의 충돌 우려가 있었다. 엔진 구현 복잡성도 문제였다. 모든 주요 브라우저 벤더의 동의를 얻지 못했다.

불변 데이터 구조가 필요한 개발자들은 당분간 Immutable.js, Immer, Object.freeze() 같은 기존 방법을 계속 사용해야 한다. 또는 TypeScript의 readonly와 as const를 활용할 수 있다.

JavaScript 표준의 방향

반면 Temporal은 엔진에서 배포되기 시작했다. JavaScript의 새로운 날짜/시간 API다. 하지만 TypeScript의 표준 라이브러리는 아직 Temporal 타입을 포함하지 않는다.

타입 주석(type annotations) 제안은 여전히 초기 단계다. 하지만 장기적 방향을 보여준다. JS 런타임이 타입 구문을 무시하면서 TypeScript가 슈퍼셋으로 진화하는 것. 표준의 방향은 명확하다. 통합, 더 엄격한 기본값, 런타임에서 더 적은 마법.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Related Post

윈도우 11의 ‘수선’은 진짜 치료일까, 반창고일 뿐일까

어린 시절 시골집 마당에 심었던 장미 덤불이 떠오른다. 가시가 많지만 꽃은 예쁘고, 봄마다 가지치기를 해야만…

디지털 검열의 그림자: 메타가 그리는 경계선은 누구를 위한 것인가

소셜 미디어가 '연결'의 상징이던 시대는 언제 끝났을까? 20년 전만 해도 페이스북은 아랍의 봄을 촉발한 도구로…

Beyond Slop: 생성형 AI는 왜 표현이 아닌 생산에 머무르는가

창작의 의미를 묻다 "Beyond Slop"이라는 글을 읽으면서 많은 생각이 들었다. 생성형 AI가 콘텐츠를 빠르게 만들어내지만,…