Skip to content

coleea/ecmascript-proposals

 
 

Repository files navigation

ECMAScript proposals

Finished Proposals

Finished proposals are proposals that have reached stage 4, and are included in the latest draft of the specification.

Proposal ES Version Description (한글)
[RegExp.escape] ES2025 정규식 내 특수 문자를 이스케이프하여 리터럴 문자열로 취급하는 정적 메서드 RegExp.escape()를 추가합니다.
Float16 on TypedArrays, DataView, Math.f16round ES2025 TypedArray, DataView에서 16비트 부동소수점(half-precision) 형식을 지원하고, 가장 가까운 16비트 부동소수점 값으로 반올림하는 Math.f16round() 함수를 추가합니다.
[Promise.try] ES2025 동기/비동기 함수 실행을 try...catch처럼 감싸 즉시 Promise를 반환하는 Promise.try() 정적 메서드를 추가합니다.
Sync Iterator helpers ES2025 동기 이터레이터에 map, filter, take, drop, flatMap, reduce, toArray, forEach, some, every, find와 같은 헬퍼 메서드를 추가합니다.
JSON Modules ES2025 import 문을 사용하여 JSON 파일을 모듈처럼 직접 가져올 수 있도록 지원합니다.
Import Attributes ES2025 import 문에 추가적인 속성(예: type)을 명시하여 모듈 로딩 방식을 제어합니다 (이전 'Import Assertions').
RegExp Modifiers ES2025 정규식 리터럴 내에서 (?i:)와 같이 특정 부분에만 플래그(i, m, s)를 적용하거나 해제할 수 있는 문법을 추가합니다.
New Set methods ES2025 Set 객체에 교집합(intersection), 합집합(union), 차집합(difference), 대칭차집합(symmetricDifference), 부분집합 여부(isSubsetOf), 상위집합 여부(isSupersetOf), 서로소 여부(isDisjointFrom) 등의 새로운 메서드를 추가합니다.
Duplicate named capture groups ES2025 정규식에서 동일한 이름의 캡처 그룹을 여러 번 사용할 수 있도록 허용합니다.
ArrayBuffer transfer ES2024 ArrayBuffer의 소유권을 다른 컨텍스트로 효율적으로 이전(transfer)하거나, 현재 버퍼를 유지하면서 복사본을 이전하는 기능을 추가합니다. (transfer(), transferToFixedLength())
[Promise.withResolvers] ES2024 Promise 객체와 그 Promise를 제어하는 resolvereject 함수를 함께 반환하는 Promise.withResolvers() 정적 메서드를 추가합니다.
Array Grouping ES2024 배열의 요소를 주어진 콜백 함수가 반환하는 값을 기준으로 그룹화하여 객체 또는 Map으로 반환하는 Object.groupBy()Map.groupBy() 메서드를 추가합니다.
Resizable and growable ArrayBuffers ES2024 생성 시 maxByteLength를 지정하여 런타임에 크기를 조절할 수 있는 ArrayBufferSharedArrayBuffer를 지원합니다.
RegExp v flag with set notation + properties of strings ES2024 정규식에 유니코드 집합 연산(차집합, 교집합 등) 및 문자열의 유니코드 속성 지원을 강화하는 v 플래그를 추가합니다.
[Atomics.waitAsync] ES2024 SharedArrayBuffer의 특정 위치 값이 변경될 때까지 비동기적으로 대기하는 Atomics.waitAsync() 메서드를 추가합니다.
Well-Formed Unicode Strings ES2024 문자열이 잘 구성된 유니코드인지 확인하는 isWellFormed() 메서드와, 잘 구성된 유니코드로 변환하는 toWellFormed() 메서드를 String.prototype에 추가합니다.
Change Array by Copy ES2023 원본 배열을 변경하지 않고 변경된 복사본을 반환하는 배열 메서드들(toReversed(), toSorted(), toSpliced(), with())을 추가합니다.
Symbols as WeakMap keys ES2023 고유하고 가비지 컬렉션 대상이 될 수 있는 SymbolWeakMap의 키로 사용할 수 있도록 허용합니다.
Hashbang Grammar ES2023 JavaScript 스크립트 파일 시작 부분의 해시뱅/셔뱅 (#!) 주석을 표준 문법으로 공식 인정하여, 실행 환경이 이를 올바르게 해석할 수 있도록 합니다.
Array find from last ES2023 배열의 끝에서부터 조건을 만족하는 요소를 찾는 findLast() 및 해당 요소의 인덱스를 찾는 findLastIndex() 메서드를 추가합니다.
Error Cause ES2022 Error 객체를 생성할 때 에러의 원인이 된 다른 에러를 명시할 수 있는 cause 옵션을 Error 생성자에 추가합니다.
Class Static Block ES2022 클래스 정의 내에서 정적 멤버를 초기화하거나 복잡한 정적 로직을 수행할 수 있는 static {} 블록을 도입합니다.
Accessible Object.prototype.hasOwnProperty ES2022 Object.prototype.hasOwnProperty.call(obj, prop) 대신 사용할 수 있는 더 안전하고 간결한 Object.hasOwn(obj, prop) 정적 메서드를 추가합니다.
[.at()] ES2022 배열, 문자열, TypedArray 등 인덱싱 가능한 객체에서 음수 인덱스를 사용하여 끝에서부터 요소에 접근할 수 있는 .at() 메서드를 추가합니다.
Ergonomic brand checks for Private Fields ES2022 in 연산자를 사용하여 클래스 외부에서도 객체가 특정 프라이빗 필드를 가지고 있는지 여부를 안전하게 확인할 수 있게 합니다.
Top-level await ES2022 ES 모듈의 최상위 레벨에서 async 함수 외부에서도 await 키워드를 사용하여 비동기 작업을 처리할 수 있도록 합니다.
RegExp Match Indices ES2022 정규식 일치 결과 객체에 각 캡처 그룹의 시작 및 끝 인덱스 정보를 제공하는 indices 속성을 추가합니다 (정규식에 d 플래그 사용 시).
Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods) ES2022 클래스에 public/private 인스턴스 필드, public/private static 필드, private 인스턴스 메서드/접근자, private static 메서드/접근자를 선언하는 기능을 제공합니다.
Numeric separators ES2021 숫자 리터럴(예: 1_000_000) 내에 밑줄(_)을 사용하여 가독성을 향상시키는 기능을 추가합니다.
Logical Assignment Operators ES2021 논리 연산자(&&, `
WeakRefs ES2021 객체에 대한 약한 참조(WeakRef)를 생성하여, 해당 객체가 가비지 컬렉션 대상이 되는 것을 막지 않으면서 참조할 수 있게 합니다. FinalizationRegistry도 함께 도입됩니다.
[Promise.any] ES2021 여러 Promise 중 가장 먼저 성공(fulfilled)하는 Promise의 결과를 반환합니다. 모든 Promise가 실패하면 AggregateError를 반환합니다.
[String.prototype.replaceAll] ES2021 문자열 내에서 특정 부분 문자열의 모든 발생을 다른 문자열로 교체하는 replaceAll() 메서드를 추가합니다.
[import.meta] ES2020 ES 모듈 내에서 현재 모듈에 대한 컨텍스트 특정 메타데이터(예: 모듈 URL)를 담고 있는 import.meta 객체를 제공합니다.
Nullish coalescing Operator ES2020 ?? 연산자로, 왼쪽 피연산자가 null 또는 undefined일 경우 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환합니다.
Optional Chaining ES2020 ?. 연산자로, 체인의 참조가 null 또는 undefined일 가능성이 있을 때 에러 발생 없이 프로퍼티나 함수 호출을 시도하고, 해당 값이 없으면 undefined를 반환합니다.
[for-in mechanics] ES2020 for...in 루프가 객체 속성을 열거하는 순서에 대한 명세를 명확히 하여 구현 간 일관성을 높입니다.
[globalThis] ES2020 다양한 JavaScript 환경(브라우저의 window, Node.js의 global 등)에서 전역 this 값을 일관되게 참조할 수 있는 globalThis 키워드를 제공합니다.
[Promise.allSettled] ES2020 여러 Promise가 모두 이행(settled: 성공 또는 실패)될 때까지 기다린 후, 각 Promise의 상태와 결과(또는 이유)를 담은 객체의 배열을 반환합니다.
[BigInt] ES2020 Number의 최대 안전 정수보다 큰 정수를 표현할 수 있는 새로운 숫자 원시 타입 BigInt를 도입합니다.
[import()] ES2020 필요할 때 모듈을 동적으로 로드할 수 있는 함수 형태의 import() 문법을 제공합니다. Promise를 반환합니다.
[String.prototype.matchAll] ES2020 정규식과 일치하는 모든 결과를 포함하는 이터레이터를 반환하는 matchAll() 메서드를 String.prototype에 추가합니다.
[Array.prototype.{flat,flatMap}] ES2019 중첩된 배열을 지정된 깊이까지 평탄화하는 flat() 메서드와, 배열의 각 요소에 매핑 함수를 적용한 후 결과를 평탄화하는 flatMap() 메서드를 추가합니다.
[String.prototype.{trimStart,trimEnd}] ES2019 문자열의 시작 부분 공백을 제거하는 trimStart() (또는 trimLeft)와 끝 부분 공백을 제거하는 trimEnd() (또는 trimRight) 메서드를 추가합니다.
Well-formed JSON.stringify ES2019 JSON.stringify()가 잘못된 유니코드 문자(예: lone surrogates)를 유효한 유니코드 이스케이프 시퀀스로 변환하여 반환하도록 수정합니다.
[Object.fromEntries] ES2019 [key, value] 쌍의 배열이나 이터러블 객체를 받아 새로운 객체로 변환하는 Object.fromEntries() 정적 메서드를 추가합니다. (Object.entries()의 반대 기능)
[Function.prototype.toString revision] ES2019 Function.prototype.toString()이 함수 소스 코드를 반환할 때 주석과 공백을 포함하여 원본에 더 가깝게 반환하도록 명세를 개정합니다.
[Symbol.prototype.description] ES2019 Symbol 객체를 생성할 때 전달된 설명을 반환하는 읽기 전용 속성 descriptionSymbol.prototype에 추가합니다.
JSON superset ES2019 ECMAScript 문자열 리터럴이 모든 JSON 문자열 리터럴을 포함하도록 하여, U+2028 (줄 구분자) 및 U+2029 (단락 구분자) 문자가 문자열 리터럴에 직접 포함될 수 있도록 합니다.
Optional catch binding ES2019 try...catch 문에서 catch 블록의 예외 객체 바인딩(매개변수)을 사용하지 않을 경우 생략할 수 있도록 허용합니다 (예: try {...} catch {...}).
Asynchronous Iteration ES2018 비동기적으로 데이터를 생성하는 이터레이터(Async Iterators)와 이를 소비하는 for-await...of 루프 문법을 도입합니다.
[Promise.prototype.finally] ES2018 Promise가 성공(fulfilled)하든 실패(rejected)하든 관계없이 특정 콜백 함수를 실행하도록 하는 finally() 메서드를 Promise.prototype에 추가합니다.
RegExp Unicode Property Escapes ES2018 정규식에서 유니코드 속성(예: Script, General_Category)을 사용하여 문자를 매칭할 수 있는 \p{...}\P{...} 이스케이프 시퀀스를 지원합니다 (정규식에 u 플래그 필요).
RegExp Lookbehind Assertions ES2018 정규식에서 현재 위치 이전의 텍스트를 조건으로 매칭하는 긍정형 후방탐색((?<=...)) 및 부정형 후방탐색((?<!...))을 지원합니다.
Rest/Spread Properties ES2018 객체 리터럴에서 나머지 속성을 모으는 Rest Properties (...rest)와 객체의 속성을 펼치는 Spread Properties (...obj)를 지원합니다.
RegExp named capture groups ES2018 정규식의 캡처 그룹에 이름을 지정하고 ((?<name>...)), 이름으로 참조할 수 있는 기능을 추가합니다.
s (dotAll) flag for regular expressions ES2018 정규식의 . 메타문자가 개행 문자(예: \n)를 포함한 모든 문자와 일치하도록 하는 s (dotAll) 플래그를 추가합니다.
Lifting template literal restriction ES2018 태그된 템플릿 리터럴에서 잘못된 이스케이프 시퀀스가 포함된 문자열을 사용할 수 없었던 제한을 완화합니다. cooked 문자열이 undefined일 경우 raw 문자열을 사용합니다.
Shared memory and atomics ES2017 여러 워커(스레드) 간에 메모리를 공유할 수 있는 SharedArrayBuffer와, 공유 메모리에서의 동시성 문제를 해결하기 위한 Atomics 객체를 도입하여 병렬 프로그래밍을 지원합니다.
Async functions ES2017 async 키워드로 비동기 함수를 선언하고, await 키워드로 Promise가 완료될 때까지 함수의 실행을 일시 중지하여 비동기 코드를 동기식처럼 작성할 수 있게 합니다.
Trailing commas in function parameter lists and calls ES2017 함수 매개변수 목록 및 함수 호출 시 마지막 매개변수 뒤에 쉼표(trailing comma)를 허용하여 코드 수정 및 버전 관리 용이성을 높입니다.
[Object.getOwnPropertyDescriptors] ES2017 객체의 모든 자체 속성(상속된 속성 제외)에 대한 속성 기술자(property descriptor)들을 담은 객체를 반환하는 Object.getOwnPropertyDescriptors() 정적 메서드를 추가합니다.
String padding ES2017 문자열의 시작 부분(padStart()) 또는 끝 부분(padEnd())을 주어진 문자로 채워 지정된 길이의 새로운 문자열을 생성하는 메서드를 추가합니다.
[Object.values/Object.entries] ES2017 객체의 자체 열거 가능한 속성 값들의 배열을 반환하는 Object.values()와, [key, value] 쌍의 배열을 반환하는 Object.entries() 정적 메서드를 추가합니다.
Exponentiation operator ES2016 거듭제곱 연산을 수행하는 중위 연산자 ** (예: 2 ** 3은 8)를 추가합니다. Math.pow()와 유사합니다.
[Array.prototype.includes] ES2016 배열이 특정 요소를 포함하고 있는지 여부를 불리언 값으로 반환하는 includes() 메서드를 Array.prototype에 추가합니다. NaN도 정확히 찾을 수 있습니다.
Lexical Declarations (let, const) ES2015 블록 스코프를 가지는 변수 선언 키워드 let과 상수 선언 키워드 const를 도입합니다.
Arrow Functions ES2015 function 키워드 대신 화살표(=>)를 사용하여 함수를 간결하게 정의하며, 자체 this 바인딩을 갖지 않습니다.
Classes ES2015 프로토타입 기반 상속을 더 명확하고 쉽게 사용할 수 있도록 하는 클래스 문법(class, constructor, extends, super, static)을 도입합니다.
Enhanced Object Literals ES2015 객체 리터럴 정의 시 속성 축약 표현, 계산된 속성 이름, 메서드 정의 축약 표현 등을 지원합니다.
Template Literals ES2015 백틱(` `)으로 감싸는 문자열로, 내부에 표현식을 삽입(${expression})하거나 여러 줄 문자열을 쉽게 작성할 수 있습니다.
Destructuring Assignment ES2015 배열이나 객체의 값을 추출하여 개별 변수에 할당하는 간편한 문법을 제공합니다.
Default Parameters ES2015 함수 매개변수에 기본값을 지정하여, 해당 인수가 전달되지 않거나 undefined일 경우 기본값을 사용하도록 합니다.
Rest Parameters ES2015 함수 매개변수 목록의 마지막에 ...을 사용하여 나머지 인수들을 배열로 모을 수 있게 합니다.
Spread Syntax ES2015 배열이나 이터러블 객체를 개별 요소로 펼치거나, 객체를 다른 객체 리터럴에 펼칠 수 있게 합니다 (...).
Iterators and for...of loop ES2015 이터레이션 프로토콜을 정의하고, 이터러블 객체(배열, 문자열, Map, Set 등)의 값을 순회하는 for...of 루프를 도입합니다.
Generators ES2015 실행을 중간에 멈추고 재개할 수 있는 특별한 함수(제너레이터 함수, function*)와 이터레이터를 생성하는 기능을 제공합니다.
Promises ES2015 비동기 작업의 최종 완료 또는 실패를 나타내는 객체와 그 결과를 다루는 표준화된 방법을 제공합니다.
Modules (ESM: import/export) ES2015 코드를 모듈 단위로 구성하고, importexport 키워드를 사용하여 모듈 간 의존성을 관리하는 표준 모듈 시스템을 도입합니다.
Map, Set, WeakMap, WeakSet ES2015 키-값 쌍을 저장하는 Map, 고유한 값을 저장하는 Set, 그리고 키에 대한 약한 참조를 가지는 WeakMapWeakSet 컬렉션 객체를 도입합니다.
Symbol primitive type ES2015 고유하고 변경 불가능한 원시 값인 Symbol 타입을 도입하여, 객체 속성 키 충돌을 방지하는 데 사용될 수 있습니다.
Proxy and Reflect APIs ES2015 객체에 대한 기본적인 동작(속성 접근, 할당, 열거, 함수 호출 등)을 가로채고 재정의할 수 있는 Proxy 객체와, 이러한 동작을 위한 기본 메서드를 제공하는 Reflect API를 도입합니다.
[Object.assign] ES2015 하나 이상의 출처 객체로부터 모든 열거 가능한 자체 속성을 대상 객체로 복사하는 Object.assign() 정적 메서드를 추가합니다.
New String methods (e.g., startsWith, endsWith, includes, repeat) ES2015 문자열 처리를 위한 다양한 새 메서드들(startsWith, endsWith, includes, repeat 등)을 String.prototype에 추가합니다.
New Array methods (e.g., Array.from, Array.of, find, findIndex, fill, copyWithin) ES2015 배열 조작 및 생성을 위한 다양한 새 메서드들(Array.from, Array.of, find, findIndex, fill, copyWithin 등)을 Array 객체 및 Array.prototype에 추가합니다.
Typed Arrays ES2015 원시 이진 데이터를 다루기 위한 배열 유사 객체들(예: Int8Array, Float32Array)과 ArrayBuffer를 제공합니다.
Binary and Octal Literals ES2015 2진수(0b 또는 0B 접두사) 및 8진수(0o 또는 0O 접두사) 숫자 리터럴 표기법을 지원합니다.
__proto__ in object literals (standardized) ES2015 객체 리터럴 내에서 __proto__ 속성을 사용하여 프로토타입을 설정하는 기능을 표준화합니다. (권장되지는 않음)
[Object.is] ES2015 두 값이 같은 값인지 비교하는 Object.is() 정적 메서드를 추가합니다. (=== 보다 NaN+0, -0 처리에 있어 더 정확함)
Number properties and methods (e.g., Number.isFinite, Number.isNaN, Number.EPSILON) ES2015 숫자 관련 유틸리티 상수(EPSILON, MAX_SAFE_INTEGER 등) 및 메서드(isFinite, isNaN, isInteger, isSafeInteger 등)를 Number 객체에 추가합니다.
Math methods (e.g., Math.trunc, Math.sign, Math.cbrt, Math.hypot) ES2015 수학 연산을 위한 다양한 새 정적 메서드들(trunc, sign, cbrt, log10, hypot 등)을 Math 객체에 추가합니다.
Unicode regular expression (u) flag improvements ES2015 정규식 u 플래그 사용 시 유니코드 코드 포인트 단위로 매칭하고, 유니코드 이스케이프 시퀀스(\u{...})를 지원하는 등 유니코드 처리를 개선합니다.
Sticky (y) flag for regular expressions ES2015 정규식 y (sticky) 플래그를 추가하여, lastIndex 속성으로 지정된 위치에서만 일치하는지 확인하고, 일치하면 lastIndex를 갱신합니다.

Stage 3

Proposal Description (한글)
Legacy RegExp features in JavaScript 구형 브라우저에서 지원되던 비표준 정규식 기능(예: 특정 상황에서의 캡처 그룹 동작)을 명세에 포함하여 웹 호환성을 높입니다.
Temporal 날짜 및 시간 처리를 위한 현대적이고 사용하기 쉬운 Temporal 전역 객체와 관련 API를 도입합니다. (기존 Date 객체의 단점 개선)
Decorators 클래스와 클래스 멤버(메서드, 필드, 접근자)에 메타프로그래밍 기능을 추가할 수 있는 데코레이터 문법을 도입합니다.
JSON.parse source text access JSON.parse가 파싱한 값과 함께 원본 JSON 문자열의 해당 부분을 가져올 수 있는 기능을 추가합니다 (예: reviver 함수에서).
Array.fromAsync 비동기 이터러블이나 Promise를 반환하는 이터러블로부터 배열을 생성하는 Array.fromAsync() 정적 메서드를 추가합니다.
Explicit Resource Management 파일 핸들, 네트워크 연결 등 사용 후 명시적으로 해제해야 하는 리소스를 usingawait using 구문을 통해 안전하게 관리하는 기능을 도입합니다.
Decorator Metadata 데코레이터가 클래스 및 멤버에 메타데이터를 연결하고 접근할 수 있도록 하는 표준적인 방법을 제공합니다.
Source Phase Imports 모듈 그래프를 분석하는 단계(소스 단계)에서만 필요한 모듈을 가져올 수 있도록 하여, 런타임에는 해당 모듈이 로드되지 않게 합니다. (주로 빌드 도구나 린터용)
Time Zone Canonicalization Temporal API에서 사용되는 시간대 식별자를 정규화(canonicalize)하는 방식을 명확히 합니다.
Uint8Array to/from Base64 Uint8Array와 Base64 문자열 간의 효율적인 변환을 위한 메서드를 추가합니다.
Dynamic Code Brand Checks eval이나 new Function 등으로 생성된 동적 코드인지 여부를 안전하게 확인할 수 있는 방법을 제공합니다.
Redeclarable global eval-introduced vars 전역 스코프에서 eval을 통해 선언된 var 변수가 특정 조건 하에 재선언될 수 있도록 하는 동작을 명확히 합니다.
Atomics.pause 스핀락(spin lock)과 같은 바쁜 대기(busy-waiting) 루프에서 CPU 사용량을 줄이고 성능을 개선하기 위해 짧은 시간 동안 실행을 일시 중지하는 Atomics.pause() 메서드를 추가합니다.
Error.isError 주어진 값이 Error 객체인지 여부를 안정적으로 확인하는 Error.isError() 정적 메서드를 추가합니다.
Deferring Module Evaluation 모듈을 가져올 때 즉시 평가하지 않고, 실제 사용될 때까지 평가를 지연시키는 기능을 도입합니다. (성능 최적화)
Math.sumPrecise 부동소수점 숫자의 배열 합계를 계산할 때 정밀도 손실을 최소화하는 Math.sumPrecise() 메서드를 추가합니다.

ECMAScript Internationalization API Specification proposals

Contributing to proposals

Active proposals

Proposals follow this process document. This list contains only stage 2 proposals and higher that have not yet been withdrawn/rejected, or become finished. Stage 2 indicates that the committee expects these features to be developed and eventually included in the standard.

Stage 2.7

Proposal Author Champion Test262 Feature Flag Last Presented
ShadowRealm Caridy Patiño
Jean-Francois Paradis
Dave Herman
Mark Miller
Caridy Patiño
Leo Balter
Rick Waldron
Chengzhong Wu
ShadowRealm February 2024
Joint Iteration Michael Ficarra Michael Ficarra Testing plan June 2024
Iterator Sequencing Michael Ficarra Michael Ficarra October 2024
ESM Phase Imports Luca Casonato
Guy Bedford
Luca Casonato
Guy Bedford
December 2024
Immutable ArrayBuffers Mark Miller
Peter Hoddie
Richard Gibson
Jack Works
Mark Miller
Peter Hoddie
Richard Gibson
Jack Works
February 2025
Non-extensible Applies to Private Mark Miller
Shu-yu Guo
Chip Morningstar
Erik Marks
Mark Miller
Shu-yu Guo
Chip Morningstar
Erik Marks
April  2025
Upsert Daniel Minor, Lauritz Thoresen Angeltveit, Jonas Haukenes, Sune Lianes, Vetle Larsen, Mathias Hop Ness Daniel Minor Testing plan April  2025

Stage 2

Proposal Author Champion Stage 2.7 reviewers Last Presented
function.sent metaproperty Allen Wirfs-Brock HE Shi-Jun July 2019
throw expressions Ron Buckton Ron Buckton February 2024
Function implementation hiding Domenic Denicola
Michael Ficarra
Michael Ficarra June 2020
collection normalization Bradley Farias Bradley Farias January 2019
isTemplateObject Mike Samuel, Krzysztof Kotowicz Daniel Ehrenberg
Jordan Harband
April 2024
Dynamic Import Host Adjustment Mike Samuel, Krzysztof Kotowicz Krzysztof Kotowicz December 2019
Module Expressions Surma
Daniel Ehrenberg
Nicolò Ribaudo
Surma
Nicolò Ribaudo
November 2022
Pipeline Operator J. S. Choi
James DiGioia
Ron Buckton
Tab Atkins
J. S. Choi
Ron Buckton
Tab Atkins
August 2021
Destructure Private Fields Justin Ridgewell Justin Ridgewell December 2021
RegExp Buffer Boundaries (\A, \z, \Z) Ron Buckton Ron Buckton December 2021
String.dedent Misha Kaletsky
Hemanth HM
Justin Ridgewell
Hemanth HM
Justin Ridgewell
June 2022
JSON.parseImmutable Robin Ricard
Richard Button
Nicolò Ribaudo
Ashley Claymore
Robin Ricard
Richard Button
Nicolò Ribaudo
Ashley Claymore
July 2022
Module Declarations Daniel Ehrenberg
Nicolò Ribaudo
Daniel Ehrenberg
Mark Miller
Nicolò Ribaudo
November 2022
Symbol Predicates Robin Ricard
Jordan Harband
Ashley Claymore
Jordan Harband
May 2023
Async Iterator helpers Gus Caplan Michael Ficarra
Jonathan Keslin
Kevin Gibbons
June 2024
Iterator.range Jack Works Jack Works April 2024
Async Context Chengzhong Wu Andreu Botella
Chengzhong Wu
Justin Ridgewell
James M Snell
Mark S. Miller
April 2024
"Discard" (void) Bindings Ron Buckton Ron Buckton June 2024
Propagate active ScriptOrModule with JobCallback Record Chengzhong Wu Chengzhong Wu July 2024
Structs: Fixed Layout Objects and Some Synchronization Primitives Shu-yu Guo Shu-yu Guo Mark Miller
Waldemar Horwat
Yulia Startsev
Nicolò Ribaudo
October 2024
Extractors Ron Buckton Ron Buckton Jordan Harband
Justin Ridgewell
October 2024
iterator chunking Michael Ficarra Michael Ficarra Ashley Claymore
Jordan Harband
Jesse Alama
October 2024
Error Stack Accessor Jordan Harband Jordan Harband
Mark Miller
Nicolò Ribaudo
Michael Ficarra
February 2025
Deferred Re-exports Nicolò Ribaudo Nicolò Ribaudo Chengzhong Wu
Ashley Claymore
April 2025

The test262 feature flag links to a code search of tests using that feature flag, which may constitute complete or partial coverage. The ❓ means there is no feature flag for tests yet.

Contributing to proposals

See Contributing to ECMAScript and How We Work for the most up-to-date information on contributing to proposals to TC39 standards and how proposals advance.

Onboarding proposals

Proposals that are Stage 1 and above must be transferred to the TC39 GitHub organization for discoverability and archival purposes. To onboard a proposal:

  1. Transfer your repository to the @tc39-transfer organization
    • if you are a TC39 delegate, but not a member of that organization, please contact @LJHarb
  2. The Github Administrator, or one of the chairs, will transfer your repository to the TC39 organization the next chance they get.

Note that as part of the onboarding process your repository name may be normalized. Don't worry, repo redirects will continue to work as long as you never create a fork, or a new repository, with the same name - although Github Pages redirects will be broken (please update your links!).

About

Tracking ECMAScript Proposals

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published