본문 바로가기
홈 · IT 인사이트

ECMAScript 2025, 자바스크립트 개발자가 꼭 알아야 할 새 기능

by 도라에몽 2025. 7. 31.
반응형

2025년 7월, 자바스크립트 최신 사양 ECMAScript 2025 (ES2025) 가 공개되었습니다.
이번 업데이트는 혁명적인 변화라기보다는, 실무에서 체감할 수 있는 편의성 개선이 많습니다.
Iterator, Set 연산 강화, Promise.try, JSON import 등 읽으면서 “이제서야 들어왔네” 싶은 기능들이 꽤 있었습니다.

아래에서 핵심 내용을 요약하고, 제가 흥미롭게 본 포인트를 정리했습니다.


1. 전역 Iterator 객체와 함수형 연산자

이번 ES2025의 가장 큰 변화 중 하나는 전역 Iterator 객체입니다.

  • Iterator.from()으로 배열, 제너레이터 등을 감싸면 map, filter, take 같은 함수형 연산자를 게으른(lazy) 방식으로 사용할 수 있습니다.
  • 중간 배열을 만들지 않고 필요한 시점에만 처리 → 대규모 데이터 처리에서 성능에 유리
  • Array뿐 아니라 generator, iterable에도 동일한 API 적용 가능
  • Java의 Stream API와 유사한 방식으로 동작

Iterator.from(["Plato","Lao Tzu","St. Augustine"])
  .map(name => name.length)
  .filter(len => len < 10)
  .take(2)
  .toArray();  // [5,7]
  

이제 대규모 로그나 데이터 스트림을 다룰 때 중간 배열을 반복적으로 생성할 필요가 없어서 훨씬 깔끔해질 것 같습니다.

2. Set 메소드 강화: 교집합부터 대칭 차집합까지

자바스크립트 Set이 SQL 집합 연산처럼 쓸 수 있게 확장되었습니다.

  • intersection : 교집합
  • difference : 차집합
  • symetricDifference : 대칭 차집합
  • isSubsetOf / isSupersetOf / isDisjointFrom : 집합 관계 확인

let set1 = new Set(["A","B","C"]);
let set2 = new Set(["C","D","E"]);

set1.intersection(set2);       // {'C'}
set1.difference(set2);         // {'A','B'}
set1.symetricDifference(set2); // {'A','B','D','E'}
  

이제 권한 관리나 태그 교집합 계산처럼 집합 연산이 필요한 상황에서 lodash 같은 라이브러리 없이도 깔끔하게 처리할 수 있게 되었습니다.

3. JSON 모듈 직접 import

이제 JSON 파일을 바로 모듈처럼 불러올 수 있습니다.
빌드 없이도 로컬 JSON을 import 가능하다는 점이 편리합니다.


import appConfig from './data.json' with { type: 'json' };
  

작은 프로젝트나 목업 데이터 작업 시에 특히 유용합니다.

4. 정규식 개선: 보안과 가독성 강화

  • RegExp.escape() : 사용자 입력을 안전하게 이스케이프 처리하여 정규식 인젝션 방지
  • 정규식 내부 일부 구간만 플래그 적용 가능 (예: 대소문자 구분 선택적 적용)
/(?i:Love)|(?-i:Day)/

이제 악의적인 입력에도 안전하고, 복잡한 정규식을 더 직관적으로 작성할 수 있게 되었습니다.

5. Promise.try: 동기·비동기 에러 통합 처리

Promise.try() 덕분에 동기/비동기 에러를 하나의 체인으로 처리할 수 있습니다.


Promise.try(() => mightThrowSyncError())
  .then(val => console.log("OK", val))
  .catch(err => console.error("Error:", err));
  

Node.js에서 데이터 처리할 때 코드 흐름이 훨씬 깔끔해질 것 같습니다.
이제 try-catch와 Promise.catch를 별도로 나눌 필요가 없습니다.

6. Float16Array: 고성능 연산·ML 친화

16비트 부동소수점 배열이 추가되었습니다.

  • 메모리를 절약하면서 대량 연산에 유리
  • 머신러닝 가중치, 3D 그래픽 등에서 활용 가능

일반적인 웹 개발자는 당장 쓸 일이 없을 수 있지만,
WebGPU나 머신러닝 쪽에서는 반가운 추가 기능입니다.

정리하며

ES2025는 불편했던 지점을 해소하면서 실무 개발 경험을 개선해주는 업데이트입니다.
개인적으로는 IteratorPromise.try가 가장 바로 적용해보고 싶은 기능입니다.
모든 프로젝트에 당장 쓸 수는 없더라도, 알아두면 코드 품질과 생산성을 높일 수 있는 변화라고 생각합니다.


참고
ECMAScript 2025: 자바스크립트의 주요 신기능 – ITWorld Korea

반응형

댓글