이 글을 ES2025 정식 확정(2025년 6월)과 ES2026 진행 상황에 맞춰 최신화했다. ES2024의 핵심 기능은 이제 모든 주요 브라우저에서 Baseline으로 안정화됐고, ES2025에서 Iterator Helpers, Set 메서드(union·intersection·difference), Array.fromAsync, Promise.try, RegExp.escape가 표준에 합류했다. 또한 오래 기다려온 Temporal이 2026년 3월 Stage 4에 도달해 ES2026에 포함되며 Chrome 144+, Firefox 139+, Edge 144+에서 네이티브로 제공되기 시작했다.
JavaScript ES2024(ES15)가 2024년 6월에 정식 발표된 이후, 매년 6월 새 표준이 확정되는 ECMAScript의 연간 릴리스 흐름은 그대로 이어지고 있다. 2025년 6월에는 ES2025가 확정됐고, 2026년에는 Temporal을 비롯한 기능들이 ES2026으로 들어왔다. 이번 글에서는 ES2024의 검증된 기능부터 최신 ES2025·ES2026 기능까지, 실무에서 곧바로 활용할 수 있는 것들을 순서대로 살펴본다.
toReversed() - 불변성을 지키는 배열 뒤집기
기존의 reverse() 메서드는 원본 배열을 변경했지만, 새로운 toReversed()는 원본을 유지하면서 뒤집힌 새 배열을 반환한다.
toReversed(), toSorted(), toSpliced() 등 모든 배열 변경 메서드에 불변성 버전이 추가되어 함수형 프로그래밍이 더 쉬워졌다. 2026년 현재 이 메서드들은 모든 주요 브라우저에서 Baseline으로 안정화되어 폴리필 없이 바로 사용할 수 있다.
Array.with() - 특정 인덱스 값 변경
배열의 특정 인덱스 값을 변경할 때도 불변성을 유지할 수 있다.
Object.groupBy() - 객체 그룹화의 혁신
배열을 특정 조건으로 그룹화하는 작업이 훨씬 간단해졌다.
키가 문자열이면 Object.groupBy(), 객체나 다른 값을 키로 쓰려면 Map.groupBy()를 사용한다. 두 메서드 모두 2024년부터 Baseline에 포함되어 Node.js 21+, Deno 1.37+, 모든 최신 브라우저에서 동작한다.
Promise.withResolvers()
Promise와 resolve, reject를 분리해서 사용할 수 있는 새로운 패턴이다.
String.isWellFormed() - UTF-16 검증
문자열이 올바른 UTF-16 형식인지 검증할 수 있다. API 응답 데이터 검증이나 사용자 입력 유효성 검사에 유용하다.
ES2025 - Iterator Helpers와 Set 메서드
2025년 6월 정식 확정된 ES2025는 ES2024 못지않게 실무 체감도가 높은 기능들을 가져왔다. 그중에서도 Iterator Helpers와 Set 메서드는 별도 라이브러리 없이 일상 코드를 크게 줄여 준다.
Iterator Helpers - 배열로 변환하지 않고 체이닝
이제 모든 이터레이터에서 map(), filter(), take(), drop() 등을 바로 체이닝할 수 있다. 이터레이터는 지연 평가(lazy)되므로, 큰 데이터셋을 배열로 펼치지 않고 필요한 만큼만 처리해 메모리 효율이 좋다.
Set 메서드 - 집합 연산 내장
오래 기다려온 union, intersection, difference, symmetricDifference가 Set.prototype에 추가됐다. 수학적 집합 연산을 수동 순회나 외부 라이브러리 없이 처리할 수 있다.
Array.fromAsync · Promise.try · RegExp.escape
비동기 이터러블을 한 번에 배열로 모으는 Array.fromAsync(), 동기 함수의 예외까지 안전하게 Promise로 감싸는 Promise.try(), 정규식에 안전하게 끼워 넣도록 문자열을 이스케이프하는 RegExp.escape()도 ES2025에 함께 들어왔다.
Iterator Helpers는 데이터 파이프라인을 배열 생성 없이 구성할 수 있어 대용량 스트림 처리에 특히 유용하다. Set 메서드는 권한 비교, 태그 매칭, 중복 제거 같은 작업을 한 줄로 정리해 준다. 이 밖에 ES2025에는 JSON 모듈 임포트, 정규식의 중복 명명 캡처 그룹, Float16Array 등도 포함됐다.
ES2026 - Temporal과 그다음
JavaScript 날짜·시간 처리의 고질적 문제를 해결할 Temporal이 2026년 3월 TC39 Stage 4에 도달해 ES2026 사양에 포함됐다. 모호한 Date 객체를 대체해 불변(immutable) 객체, 명확한 시간대 처리, 직관적인 산술을 제공한다.
Temporal은 Chrome 144+, Firefox 139+, Edge 144+에서 네이티브로 제공되기 시작했다. 아직 모든 환경을 커버하지는 않으므로, 폭넓은 지원이 필요하면 공식 폴리필(@js-temporal/polyfill)을 함께 사용하면 된다.
이처럼 ECMAScript는 매년 6월 새 표준을 확정하는 안정적인 연간 릴리스 주기를 유지하고 있다. 거대한 한 번의 변화 대신 작고 실용적인 기능이 꾸준히 추가되므로, 기능별 Baseline 상태만 확인하면 안심하고 점진적으로 도입할 수 있다.
브라우저 지원 현황과 폴리필
2026년 현재 ES2024 기능(toReversed·toSorted·Object.groupBy·Promise.withResolvers·String.isWellFormed)은 모든 주요 브라우저에서 Baseline으로 안정화되어 폴리필 없이 사용할 수 있다. ES2025의 Iterator Helpers와 Set 메서드 역시 최신 Chrome·Firefox·Safari·Node.js에서 폭넓게 지원되며, 구형 환경 호환이 필요할 때만 폴리필을 검토하면 된다. ES2026의 Temporal은 아직 도입 초기이므로 공식 폴리필 병행을 권장한다.
| 기능 | 표준 | 2026년 지원 상태 |
|---|---|---|
| toReversed / toSorted / with | ES2024 | Baseline (전 브라우저) |
| Object.groupBy / Map.groupBy | ES2024 | Baseline (전 브라우저, Node 21+) |
| Promise.withResolvers | ES2024 | Baseline |
| Iterator Helpers | ES2025 | 최신 브라우저 지원 |
| Set 메서드 (union 등) | ES2025 | 최신 브라우저 지원 |
| Array.fromAsync / Promise.try / RegExp.escape | ES2025 | 최신 브라우저 지원 |
| Temporal | ES2026 | Chrome 144+ / Firefox 139+ / Edge 144+ (폴리필 권장) |
이 기능들은 함수형 프로그래밍과 불변성을 중시하는 현대 웹 개발에 최적화되어 있다. React, Vue 등의 프레임워크에서 상태 관리가 훨씬 편해진다. 도입 전에는 caniuse나 MDN의 Baseline 표시를 확인해 대상 브라우저 범위에 맞게 결정하자.
마무리
JavaScript는 ES2024의 불변 배열 메서드와 Object.groupBy()에서 출발해, ES2025의 Iterator Helpers·Set 메서드·Array.fromAsync, 그리고 ES2026의 Temporal까지 해마다 개발자 경험을 끌어올리는 실용적 기능을 더해 왔다. 핵심은 거대한 변화가 아니라, 일상 코드를 조금씩 더 간결하고 안전하게 만들어 주는 작은 개선들이 꾸준히 쌓이고 있다는 점이다.
각 기능의 Baseline 상태만 확인하면 폴리필 부담 없이 점진적으로 도입할 수 있다. 최신 표준을 적절히 활용해 더 안전하고 읽기 쉬운 JavaScript 코드를 작성해보길 권한다.

