# ES2019 Features

**URL:** <https://forum.kirupa.com/t/es2019-features/639346>\
**Category:** web dev\
**Created:** [January 30, 2019, 6:18pm UTC](https://forum.kirupa.com/t/es2019-features/639346 "2019-01-30T18:18:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [January 30, 2019, 6:18pm UTC](https://forum.kirupa.com/t/es2019-features/639346/1 "2019-01-30T18:18:53Z")

</div>

Looks like the [ES2019 feature set](https://github.com/tc39/proposals/blob/master/finished-proposals.md) is complete. It includes:

| Proposal | Author | Champion(s) | TC39 meeting notes | Expected Publication Year |
| --- | --- | --- | --- | --- |
| [Optional `catch` binding](https://github.com/tc39/proposal-optional-catch-binding) | Michael Ficarra | Michael Ficarra | [May 2018](https://github.com/tc39/tc39-notes/blob/master/es9/2018-05/may-22.md#conclusionresolution-7) | 2019 |
| [JSON superset](https://github.com/tc39/proposal-json-superset) | Richard Gibson | Mark Miller Mathias Bynens | [May 2018](https://github.com/tc39/tc39-notes/blob/master/es9/2018-05/may-22.md#conclusionresolution-8) | 2019 |
| [`Symbol.prototype.description`](https://github.com/tc39/proposal-Symbol-description) | Michael Ficarra | Michael Ficarra | [November 2018](https://github.com/rwaldron/tc39-notes/blob/be8c2af6d6dcfc9630e00ea15bbabf1a415245cb/es9/2018-11/nov-27.md#conclusionresolution-12) | 2019 |
| [`Function.prototype.toString` revision](https://github.com/tc39/Function-prototype-toString-revision) | Michael Ficarra | Michael Ficarra | [November 2018](https://github.com/rwaldron/tc39-notes/blob/be8c2af6d6dcfc9630e00ea15bbabf1a415245cb/es9/2018-11/nov-27.md#conclusionresolution-13) | 2019 |
| [`Object.fromEntries`](https://github.com/tc39/proposal-object-from-entries) | Darien Maillet Valentine | Jordan Harband Kevin Gibbons | January 2019 | 2019 |
| [Well-formed `JSON.stringify`](https://github.com/tc39/proposal-well-formed-stringify) | Richard Gibson | Mathias Bynens | January 2019 | 2019 |
| [`String.prototype.{trimStart,trimEnd}`](https://github.com/tc39/proposal-string-left-right-trim) | Sebastian Markbåge | Sebastian Markbåge | January 2019 | 2019 |
| [`Array.prototype.{flat,flatMap}`](https://github.com/tc39/proposal-flatMap) | Brian Terlson Michael Ficarra | Brian Terlson Michael Ficarra | January 2019 | 2019 |

The [language spec](http://www.ecma-international.org/publications/standards/Ecma-262.htm) hasn’t been officially updated yet, but historically, additions in Jan tend to be it for the year.

I’m pretty sure [`BigInt`](https://github.com/tc39/proposal-bigint) and [`globalThis`](https://github.com/tc39/proposal-global) will make it in next year, since they’re already alive and working in Chrome. I’d like to think [Class Public Instance Fields & Private Instance Fields](https://github.com/tc39/proposal-class-fields) and the others around that are going to be part of that 2020 update as well. It seems time, and the changes to the [Decorators](http://github.com/tc39/proposal-decorators) proposal is reflective of that.

The new decorators proposal, btw, while much more complicated, is also quite a bit more powerful and provides a powerful hook into manipulating class definitions. I’d like to see them standardized sooner, but they’re probably a ways off.

---

<div class="post-metadata">

**Author:** ![senocular](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/senocular/32/7217_2.png) [@senocular](https://forum.kirupa.com/u/senocular)\
**Post date:** [January 30, 2019, 8:50pm UTC](https://forum.kirupa.com/t/es2019-features/639346/2 "2019-01-30T20:50:24Z")

</div>

Finalization confirmed

> <https://twitter.com/mathias/status/1090459673528958976>

… and the post to which he was referring:

[http://2ality.com/2018/02/ecmascript-2019.html](http://2ality.com/2018/02/ecmascript-2019.html)
