diff --git a/_data/de/stage3.yml b/_data/de/stage3.yml index 1f934b81..417fb43c 100644 --- a/_data/de/stage3.yml +++ b/_data/de/stage3.yml @@ -13,103 +13,6 @@ - Claude Pache tests: - 'https://github.com/tc39/test262/pull/2650' -- title: Private Instanzmethoden und Accessoren - id: proposal-private-methods - example: |- - class Counter extends HTMLElement { - #xValue = 0; - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - #clicked() { - this.#x++; - } - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - connectedCallback() { this.#render(); } - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - presented: - - date: Januar 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: Durch die Geheimhaltung von Zustand und Verhalten innerhalb einer Klasse können Bibliotheksautoren eine klare, stabile Oberfläche präsentieren und ihren Code im Laufe der Zeit hinter den Kulissen ändern. - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- title: Public und Private Instanz-Felder von Klassen - id: proposal-class-fields - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - presented: - - date: März 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals - has_specification: true - description: Dies ist ein Vorschlag für eine kombinierte Vision von Public und Private Feldern, welcher auf früheren Vorschläge für orthogonale Klassen und die Reihenfolge zur Auswertung von Klassen basiert. - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- title: Statische Klassenfelder und private statische Methoden - id: proposal-static-class-features - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - presented: - - date: Januar 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: Ein Vorschlag zum Hinzufügen von drei Neuerungen zu JavaScript-Klassen, aufbauend auf den vorherigen Klassenfeldern und privaten Methodenvorschlägen. - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' - title: Hashbang Grammatik id: proposal-hashbang example: |- @@ -146,8 +49,13 @@ description: Top-level await erlaubt es JS-Modulen sich wie große async Funktionen zu verhalten. Mit Top-level await können ECMAScript Module (ESM) die Ausführung von anderen Modulen, die diese importieren, verzögern, wenn diese selbst auf Ressourcen warten. authors: - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - Myles Borins + - Yulia Startsev tests: - 'https://github.com/tc39/test262/pull/2274' - title: RegExp Match Indizes diff --git a/_data/en/stage3.yml b/_data/en/stage3.yml index 8b27e2ac..957c9ef6 100644 --- a/_data/en/stage3.yml +++ b/_data/en/stage3.yml @@ -13,103 +13,6 @@ - Claude Pache tests: - 'https://github.com/tc39/test262/pull/2650' -- title: Private instance methods and accessors - id: proposal-private-methods - example: |- - class Counter extends HTMLElement { - #xValue = 0; - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - #clicked() { - this.#x++; - } - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - connectedCallback() { this.#render(); } - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - presented: - - date: January 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: Keeping state and behavior private to a class lets library authors present a clear, stable interface, while changing their code over time behind the scenes. - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- title: Class Public Instance Fields & Private Instance Fields - id: proposal-class-fields - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - presented: - - date: March 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals - has_specification: true - description: This proposes a combined vision for public fields and private fields, drawing on the earlier Orthogonal Classes and Class Evaluation Order proposals. - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- title: Static class fields and private static methods - id: proposal-static-class-features - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - presented: - - date: January 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: A proposal to add three features to JavaScript classes, building on the previous class fields and private methods proposals. - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' - title: Hashbang Grammar id: proposal-hashbang example: |- @@ -146,8 +49,13 @@ description: Top-level await enables modules to act as big async functions. With top-level await, ECMAScript Modules (ESM) can await resources, causing other modules who import them to wait before they start evaluating their body. authors: - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - Myles Borins + - Yulia Startsev tests: - 'https://github.com/tc39/test262/pull/2274' - title: RegExp Match Indices diff --git a/_data/ja/stage3.yml b/_data/ja/stage3.yml index 3d9ce168..f3e05de4 100644 --- a/_data/ja/stage3.yml +++ b/_data/ja/stage3.yml @@ -13,103 +13,6 @@ - Claude Pache tests: - 'https://github.com/tc39/test262/pull/2650' -- title: Private instance methods and accessors - id: proposal-private-methods - example: |- - class Counter extends HTMLElement { - #xValue = 0; - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - #clicked() { - this.#x++; - } - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - connectedCallback() { this.#render(); } - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - presented: - - date: 1月 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: クラスの状態や振る舞いを非公開に保つことで、ライブラリの作者は明確かつ安定したインターフェースを提供しつつ裏側でコードを変更できるようになります。 - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- title: Class Public Instance Fields & Private Instance Fields - id: proposal-class-fields - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - presented: - - date: 3月 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals - has_specification: true - description: 過去の直交クラスとクラス評価順序に関するプロポーザルに基づいて、パブリックフィールドとプライベートフィールドのための複合的なビジョンを提案します。 - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- title: Static class fields and private static methods - id: proposal-static-class-features - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - presented: - - date: 1月 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: 過去のクラスフィールドプロポーザルとプライベートメソッドプロポーザルに基づいて、新しい3つの機能をJavaScriptのクラスに追加するプロポーザルです。 - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' - title: Hashbang Grammar id: proposal-hashbang example: |- @@ -146,8 +49,13 @@ description: トップレベルawaitはモジュールを大きな非同期関数として実行することを可能にします。トップレベルawaitを使うことで、ECMAScript Modules (ESM)はリソースを待機することが可能となり、それらのモジュールをインポートする他のモジュールは自身の評価が始まる前に待機することになります。 authors: - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - Myles Borins + - Yulia Startsev tests: - 'https://github.com/tc39/test262/pull/2274' - title: RegExp Match Indices diff --git a/_data/ru/stage3.yml b/_data/ru/stage3.yml index 97bd8ba7..a65a3598 100644 --- a/_data/ru/stage3.yml +++ b/_data/ru/stage3.yml @@ -13,103 +13,6 @@ - Claude Pache tests: - 'https://github.com/tc39/test262/pull/2650' -- title: Приватные методы экземпляра класса и аксессоры - id: proposal-private-methods - example: |- - class Counter extends HTMLElement { - #xValue = 0; - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - #clicked() { - this.#x++; - } - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - connectedCallback() { this.#render(); } - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - presented: - - date: Январь 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: Сохранение состояния и поведения приватным в классе позволяет авторам библиотек предоставить понятный и стабильный интерфейс, при этом изменяя свой код незаметно для пользователей. - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- title: Публичные и приватные поля экземпляра класса - id: proposal-class-fields - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - presented: - - date: Март 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals - has_specification: true - description: Это предложение включает в себя комбинированное видение публичных и приватных полей и основано на предыдущих предложениях «Ортогональные классы» и «Порядок выполнения элементов класса». - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- title: Статические поля класса и приватные статические методы - id: proposal-static-class-features - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - presented: - - date: Январь 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: Предложение по добавлению новой функциональности в JavaScript классах, основанное на предыдущих предложениях о полях класса и приватных методах. - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' - title: Грамматика Hashbang id: proposal-hashbang example: |- @@ -146,8 +49,13 @@ description: Top-level await позволяет использовать модули как асинхронные функции. ECMAScript модули (ESM) могут ожидать внешние ресурсы, заставляя другие модули, которые их импортируют, ждать, прежде чем они начнут исполняться. authors: - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - Myles Borins + - Yulia Startsev tests: - 'https://github.com/tc39/test262/pull/2274' - title: Индексы соответствия регулярных выражений diff --git a/_data/stage3.yml b/_data/stage3.yml index 51e0e54d..b8cfc5d0 100644 --- a/_data/stage3.yml +++ b/_data/stage3.yml @@ -1,261 +1,141 @@ -- id: proposal-regexp-legacy-features +- title: Legacy RegExp features in JavaScript + id: proposal-regexp-legacy-features + presented: + - date: May 2017 + url: >- + https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3 + has_specification: false + description: This is a specification draft for the legacy (deprecated) RegExp features in JavaScript, i.e., static properties of the constructor like RegExp.$1 as well as the RegExp.prototype.compile method. authors: - Claude Pache champions: - Mark Miller - Claude Pache - description: >- - This is a specification draft for the legacy (deprecated) RegExp features in - JavaScript, i.e., static properties of the constructor like RegExp.$1 as - well as the RegExp.prototype.compile method. - has_specification: false - presented: - - date: "May\_2017" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2017-05/may-25.md#15ia-regexp-legacy-features-for-stage-3 - title: Legacy RegExp features in JavaScript tests: - 'https://github.com/tc39/test262/pull/2650' -- id: proposal-private-methods - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - description: >- - Keeping state and behavior private to a class lets library authors present a - clear, stable interface, while changing their code over time behind the - scenes. - example: |- - class Counter extends HTMLElement { - #xValue = 0; - - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - - #clicked() { - this.#x++; - } - - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - - connectedCallback() { this.#render(); } - - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - has_specification: true - presented: - - date: "September\_2020" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features - title: Private instance methods and accessors - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- id: proposal-class-fields - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - description: >- - This proposes a combined vision for public fields and private fields, - drawing on the earlier Orthogonal Classes and Class Evaluation Order - proposals. - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - has_specification: true - presented: - - date: "September\_2020" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features - title: Class Public Instance Fields & Private Instance Fields - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- id: proposal-static-class-features - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - description: >- - A proposal to add three features to JavaScript classes, building on the - previous class fields and private methods proposals. - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - has_specification: true - presented: - - date: "September\_2020" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-23.md#status-update-for-class-fields-private-methods-static-class-features - title: Static class fields and private static methods - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' -- id: proposal-hashbang - authors: - - Bradley Farias - champions: - - Bradley Farias - description: >- - This proposal is to match de-facto usage in some CLI JS hosts that allow for - Shebangs / Hashbang. Such hosts strip the hashbang in order to generate - valid JS source texts before passing to JS engines currently. This would - unify and standardize how that is done. +- title: Hashbang Grammar + id: proposal-hashbang example: |- #!/usr/bin/env node // in the Module Goal export {}; console.log(1); - has_specification: true presented: - - date: "November\_2018" + - date: November 2018 url: >- https://github.com/tc39/notes/blob/master/meetings/2018-11/nov-28.md#hash-bang-grammar - title: Hashbang Grammar - tests: - - 'https://github.com/tc39/test262/pull/2065' -- id: proposal-top-level-await + has_specification: true + description: This proposal is to match de-facto usage in some CLI JS hosts that allow for Shebangs / Hashbang. Such hosts strip the hashbang in order to generate valid JS source texts before passing to JS engines currently. This would unify and standardize how that is done. authors: - - Myles Borins + - Bradley Farias champions: - - Myles Borins - description: >- - Top-level await enables modules to act as big async functions. - With top-level await, ECMAScript Modules (ESM) can await - resources, causing other modules who import them to wait before they start - evaluating their body. + - Bradley Farias + tests: + - 'https://github.com/tc39/test262/pull/2065' +- title: Top-level await + id: proposal-top-level-await example: |- // file.html <script type=module src="a.mjs"></script> - // a.mjs await import("./b.mjs"); - // b.mjs await import("./a.mjs"); - has_specification: true presented: - - date: "June\_2019" + - date: June 2019 url: >- https://github.com/tc39/notes/blob/master/meetings/2019-06/june-6.md#top-level-await-for-stage-3 - title: Top-level await - tests: - - 'https://github.com/tc39/test262/pull/2274' -- id: proposal-regexp-match-indices + has_specification: true + description: Top-level await enables modules to act as big async functions. With top-level await, ECMAScript Modules (ESM) can await resources, causing other modules who import them to wait before they start evaluating their body. authors: - - Ron Buckton + - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - - Ron Buckton - description: >- - ECMAScript RegExp Match Indicies provide additional information about the - start and end indices of captured substrings relative to the start of the - input string. + - Myles Borins + - Yulia Startsev + tests: + - 'https://github.com/tc39/test262/pull/2274' +- title: RegExp Match Indices + id: proposal-regexp-match-indices example: |- const re1 = /a+(?<Z>z)?/; - // indices are relative to start of the input string: const s1 = "xaaaz"; const m1 = re1.exec(s1); m1.indices[0][0] === 1; m1.indices[0][1] === 5; s1.slice(...m1.indices[0]) === "aaaz"; - m1.indices[1][0] === 4; m1.indices[1][1] === 5; s1.slice(...m1.indices[1]) === "z"; - m1.indices.groups["Z"][0] === 4; m1.indices.groups["Z"][1] === 5; s1.slice(...m1.indices.groups["Z"]) === "z"; - // capture groups that are not matched return `undefined`: const m2 = re1.exec("xaaay"); m2.indices[1] === undefined; m2.indices.groups["Z"] === undefined; - has_specification: false presented: - - date: "December\_2019" + - date: December 2019 url: >- https://github.com/tc39/notes/blob/master/meetings/2019-12/december-3.md#regexp-match-indices-performance-feedback - title: RegExp Match Indices + has_specification: false + description: ECMAScript RegExp Match Indicies provide additional information about the start and end indices of captured substrings relative to the start of the input string. + authors: + - Ron Buckton + champions: + - Ron Buckton tests: - 'https://github.com/tc39/test262/pull/2309' -- id: proposal-atomics-wait-async +- title: Atomics.waitAsync + id: proposal-atomics-wait-async + presented: + - date: December 2019 + url: >- + https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3 + has_specification: true + description: A proposal for an “asynchronous atomic wait” for ECMAScript, primarily for use in agents that are not allowed to block. authors: - Lars Hansen champions: - Shu-yu Guo - Lars Hansen - description: >- - A proposal for an “asynchronous atomic wait” for ECMAScript, primarily for - use in agents that are not allowed to block. - has_specification: true - presented: - - date: "December\_2019" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-12/december-4.md#atomicswaitasync-for-stage-3 - title: Atomics.waitAsync tests: - 'https://github.com/tc39/test262/issues/2511' -- id: proposal-relative-indexing-method - authors: - - Shu-yu Guo - - Tab Atkins - champions: - - Shu-yu Guo - - Tab Atkins - description: >- - A proposal to add a .at() method to all the basic indexable - classes (Array, String, TypedArray). +- title: .at() + id: proposal-relative-indexing-method example: |- - var list = ["apple", "orange", "banana"]; + var list = ["apple", "orange", "banana"]; list.at(-1) // banana, using negative index list.at(0) // apple list.at(1) // orange list.at(2) // banana - has_specification: true presented: - - date: "November\_2020" - url: https://github.com/tc39/notes/blob/master/meetings/2020-11/nov-17.md#item-rename--revisit-inclusion-on-string - title: .at() + - date: September 2020 + url: at + has_specification: true + description: A proposal to add a .at() method to all the basic indexable classes (Array, String, TypedArray). + authors: + - Shu-yu Guo + - Tab Atkins + champions: + - Shu-yu Guo + - Tab Atkins tests: - 'https://github.com/tc39/test262/pull/2812' -- id: proposal-import-assertions +- title: Import Assertions + id: proposal-import-assertions + example: >- + new Worker("foo.wasm", { type: "module", assert: { type: + "webassembly" } }); + presented: + - date: September 2020 + url: import-assertions + has_specification: true + description: A proposal for syntax to import ES modules with assertions. authors: - Myles Borins - Sven Sauleau @@ -266,22 +146,12 @@ - Sven Sauleau - Dan Clark - Daniel Ehrenberg - description: A proposal for syntax to import ES modules with assertions. - example: >- - new Worker("foo.wasm", { type: "module", assert: { type: - "webassembly" } }); - has_specification: true - presented: - - date: "September\_2020" - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-09/sept-22.md#import-assertions-for-stage-3 - title: Import Assertions - title: JSON Modules id: proposal-json-modules example: >- import json from "./foo.json" assert { type: "json" }; presented: - - date: January\_2021 + - date: January 2021 url: >- https://github.com/tc39/notes/blob/master/meetings/2021-01/jan-25.md#json-modules-for-stage-3 has_specification: true @@ -307,14 +177,16 @@ return #brand in obj && #method in obj && #getter in obj; } } - description: EcmaScript proposal to provide brand checks without exceptions. - authors: - - Jordan Harband - has_specification: true presented: - - date: "January\_2021" + - date: January 2021 url: >- https://github.com/tc39/notes/blob/master/meetings/2021-01/jan-27.md#ergonomic-brand-checks + has_specification: true + description: EcmaScript proposal to provide brand checks without exceptions. + authors: + - Jordan Harband + champions: + - Jordan Harband - id: proposal-class-static-block title: Class Static Block authors: @@ -395,3 +267,4 @@ - date: "March\_2021" url: >- https://github.com/tc39/notes/blob/master/meetings/2021-03/mar-9.md#temporal-for-stage-3 + diff --git a/_data/zh-Hans/stage3.yml b/_data/zh-Hans/stage3.yml index cf941701..051df9f0 100644 --- a/_data/zh-Hans/stage3.yml +++ b/_data/zh-Hans/stage3.yml @@ -13,103 +13,6 @@ - Claude Pache tests: - 'https://github.com/tc39/test262/pull/2650' -- title: 私有类方法和访问器 - id: proposal-private-methods - example: |- - class Counter extends HTMLElement { - #xValue = 0; - get #x() { return #xValue; } - set #x(value) { - this.#xValue = value; - window.requestAnimationFrame(this.#render.bind(this)); - } - #clicked() { - this.#x++; - } - constructor() { - super(); - this.onclick = this.#clicked.bind(this); - } - connectedCallback() { this.#render(); } - #render() { - this.textContent = this.#x.toString(); - } - } - window.customElements.define('num-counter', Counter); - presented: - - date: January 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: 保持一个类的内部状态和内部行为的私有性,可以让库作者提供一个清晰、稳定的接口,允许在内部重构而不会因为私有接口被意外使用而破坏兼容性。 - authors: - - Daniel Ehrenberg - champions: - - Daniel Ehrenberg - - Kevin Gibbons - tests: - - >- - https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+methods -- title: 类的实例字段和私有实例字段。 - id: proposal-class-fields - example: |- - class X { - #foo; - method() { - console.log(this.#foo) - } - } - presented: - - date: March 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2020-03/march-31.md#add-support-for-optionalchainprivateidentifier-in-class-features-proposals - has_specification: true - description: 该提案合并了公开字段和私有字段的提案,借鉴了先前的 Orthogonal Classes 和 Class Evaluation Order 提案。 - authors: - - Daniel Ehrenberg - - Kevin Gibbons - champions: - - Daniel Ehrenberg - - Jeff Morrison - - Kevin Smith - - Kevin Gibbons - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+private+fields' -- title: 静态类字段和私有静态方法 - id: proposal-static-class-features - example: |- - class ColorFinder { - static #red = "#ff0000"; - static #green = "#00ff00"; - static #blue = "#0000ff"; - - static colorName(name) { - switch (name) { - case "red": return ColorFinder.#red; - case "blue": return ColorFinder.#blue; - case "green": return ColorFinder.#green; - default: throw new RangeError("unknown color"); - } - } - - // Somehow use colorName - } - presented: - - date: January 2019 - url: >- - https://github.com/tc39/notes/blob/master/meetings/2019-01/jan-30.md#private-fields-and-methods-refresher - has_specification: true - description: 该提案在先前的类字段和私有方法提案的基础上,为 JavaScript 类增加三个新特性。 - authors: - - Daniel Ehrenberg - - Kevin Gibbons - - Jeff Morrison - - Kevin Smith - champions: - - Shu-Yu Guo - - Daniel Ehrenberg - tests: - - 'https://github.com/tc39/test262/pulls?q=is%3Apr+is%3Aclosed+static+fields' - title: Hashbang 语法 id: proposal-hashbang example: |- @@ -146,8 +49,13 @@ description: 该提案让我们依靠模块系统本身来处理所有这些 Promise,并确保模块以正确方式加载。 authors: - Myles Borins + - Yulia Startsev + - Dan Ehrenberg + - Guy Bedford + - Ms2Ger champions: - Myles Borins + - Yulia Startsev tests: - 'https://github.com/tc39/test262/pull/2274' - title: RegExp Match Indices