-
ECMAScript 2025가 2025년 6월 25일 공식 표준으로 승인되어 다양한 새로운 기능이 추가됨
-
Import attributes와 JSON 모듈을 통해 비 JavaScript 리소스의 가져오기 방식 개선
-
Iterator helper methods로 대용량 데이터 처리 및 다양한 반복 작업의 효율성 향상
-
Set과 RegExp 등 주요 내장 객체에 새로운 메서드가 대거 추가되어 사용성 강화
-
16비트 부동소수점(float16) 지원 등 데이터 처리 성능 및 표현력 확장
ECMAScript 2025의 공식 승인
- 2025년 6월 25일, Ecma International 129차 총회에서 ECMAScript 2025가 공식 표준으로 승인됨
새로운 주요 기능
Import attributes와 JSON 모듈
-
Import attributes는 비 JavaScript 아티팩트(import 대상 리소스)에 대해 타입 등 속성을 명시할 수 있는 문법임
-
JSON 모듈을 처음으로 공식 지원,
import configData from './data.json' with { type: 'json' };
형태로 간편하게 JSON 데이터 불러오기 가능함
- 동적 import(
import()
호출)에서도 동일하게 속성 지정 가능함
Iterator helper methods
- Array 메서드와 유사하지만 iterator에 특화된 다양한 헬퍼 메서드가 도입됨
-
filter
, map
, flatMap
, some
, every
, find
, reduce
, forEach
등 기존 메서드
-
drop
, take
, toArray
등 반복자 전용 신규 메서드 포함
-
Set, Map 등 모든 iterable 객체에서 직접 활용 가능
- 중간 배열 생성을 하지 않고 데이터가 필요한 만큼만 순차적으로 처리하여 대용량 데이터에 효과적임
Set 메서드 확장
-
합집합, 교집합, 차집합, 대칭차집합(symmetric difference) 연산 메서드 추가
-
Set.prototype.union(other)
, intersection(other)
, difference(other)
, symmetricDifference(other)
-
부분집합/** 상위집합**/** 서로소** 판별 메서드 제공
-
isSubsetOf(other)
, isSupersetOf(other)
, isDisjointFrom(other)
정규표현식 개선
RegExp.escape()
- 임의의 문자열을 정규표현식에서 안전하게 사용할 수 있도록 자동 이스케이프하는
RegExp.escape()
도입
패턴 내 인라인 플래그(Inline flags)
- 정규표현식 내 일부 패턴에만 개별 플래그(
i
, u
등) 적용이 가능해짐
- 예:
/^x(?i:HELLO)x$/
는 HELLO 부분만 대소문자 구분 없이 매칭
중복 이름 캡처 그룹 지원
- 정규표현식 대안(branch)별로 동일한 이름의 캡처 그룹 사용 가능
- 예:
/(?<chars>a+)|(?<chars>b+)/v
Promise.try()
-
동기/비동기 코드의 혼합 처리를 단일 Promise 체인으로 시작할 수 있는
Promise.try()
도입
- 기존에는 동기 예외 처리가 번거로웠으나, now 간결하게 가능함
16비트 부동소수점(float16) 지원
-
Math.f16round()
로 16비트 부동소수점 반올림 처리 가능
-
TypedArray에
Float16Array
타입 추가
-
DataView
에 getFloat16()
, setFloat16()
메서드 도입
참고 자료 및 무료 도서