자바스크립트(JavaScript)의 공식 사양 ‘ECMA스크립트(ECMAScript)’ 버전 2021은 문자열, 프로미스, 객체 참조 등에 관한 개선사항을 지원할 예정이다.
ECMA 인터내셔널(ECMA International)에 의해 제정돼 관리되고 있는 이 사양은 오는 6월에 공식적으로 승인될 예정이다. ECMA스크립트 2021에서 지원할 기능들은 다음과 같다.
• String.prototype.ReplaceAll: 글로벌 플래그를 가진 정규표현식을 사용하지 않고 문자열에서 하위 문자열의 모든 인스턴스를 바꾸는 방법을 지원한다. 한편 String.prototype.replace는 문자열 인수와 함께 사용될 때 첫 번째 어커런스에만 영향을 준다. 제안된 솔루션은 스트링 프로토타입에 replaceAll 메소드를 추가해 간단한 솔루션을 제공한다.
• AggregateError: 여러 오류를 한 번에 나타내는 새로운 오류 유형
• Promise.any: 이는 프로미스의 반복을 수락하고, 해당 프로미스 값으로 resolve를 실행한 단일 프로미스를 반환한다.
• WeakRef: 이 제안은 2가지 기능을 제공한다. 첫째, WeakRefcode 클래스를 사용하여 객체에 대한 약한 참조를 생성하는 것 그리고 둘째, FinalizationRegistry 클래스를 사용하여 객체가 가비지 수집된 후 사용자 정의 종료자(finalizer)를 실행하는 것이다.
• FinalizationRegistry: 타깃 객체가 가비지 수집될 때 수행되는 클린업의 등록 및 등록 취소를 관리
• Array.prototype.sort가 구현 방법에 따라 정의된 정렬 순서로 이어지는 케이스의 양을 줄이기 위해 더 정확해졌다.
한편 ‘ECMA스크립트 2021’은 작년 6월 공식 승인된 ‘ECMA스크립트 2020’의 다음 버전이다. ‘ECMA스크립트 2020’은 모듈 로드를 위한 새로운 가져오기부터 임의의 정밀 정수로 작동하는 BigInt 타입까지 여러 기능을 도입한 바 있다. ciokr@idg.co.kr