ES2019に入りそうな機能

ES2019に入りそうな機能:

出典:https://github.com/tc39/ecma262

※現時点で、ES2019に採用されるかは未確定です。


optional-catch-binding(Stage4)

try...catchcatchの引数が必須でなくなる。
実装状況(MDN)



try { 
  //処理 
} catch (e) {} 
が、↓でもよくなる

try { 
  //処理 
} catch {} 


json-superset(Stage4)

JSONにおいて、エスケープされていないU+2028(LINE SEPARATOR)とU+2029(PARAGRAPH SEPARATOR)が扱えるようになる。
実装状況(MDN)

以下のような問題が解決されるはず
JSONPで受け取れない文字? \u2028 - Qiita


Symbol.prototype.description(Stage4)

Symbolオブジェクトのdescriptionのみを返す。
実装状況(MDN)



Symbol('foo').description; // "foo" 
Symbol('foo').toString();  // "Symbol(foo)" 


Array.prototype.flat()(Stage3)

Arrayの次元を下げることができる。
実装状況(MDN)



[1, [2, 3, 4]].flat(); //[1, 2, 3, 4] 
[1, [2, [3, 4]]].flat(2); //[1, 2, 3, 4] 


Array.prototype.flatMap()(Stage3)

Array.prototype.map()の次元を1下げて返すバージョン。
実装状況(MDN)



[1, 2, 3, 4].flatMap(v => [v]); //[1, 2, 3, 4] 
[1, 2, 3, 4].map(v => [v]); //[[1], [2], [3], [4]] 
使い所が思いつかない��


globalThis(Stage3)

グローバルオブジェクトを取得する統一された方法が無かったため、生み出された。

globalThis === window; //true 
こちらが詳しいです。
��globalThis��と��global��と��this�� - Qiita


dynamic-import(Stage3)

import()を使って動的にモジュールを読み込めるようになる。
実装状況(MDN)



const myModule = await import('my-module.js'); 
こちらが詳しいです。
Chrome、Safariで使えるJavaScriptのdynamic import(動的読み込み) - Qiita


BigInt(Stage3)

任意精度の整数を扱えるようになる。(現在number型で正確に扱える最大の整数は9007199254740991)



BigInt(9007199254740991); 
9007199254740991n; //リテラル表記 
こちらが詳しいです。
Chrome 67からJavaScriptのプリミティブ型BigIntが使用可能に - Qiita


Object.fromEntries()(Stage3)

キーと値を持つArrayかMapをオブジェクトに変換できる。(Object.entries()の逆)
実装状況(MDN)



Object.fromEntries([['a', 1], ['b', 2]]); 
//{ a: 1, b: 2 } 


String.prototype.{trimStart(),trimEnd()}(Stage3)

String.prototype.trim()の(左|右)側の空白のみ取り除くバージョン。
trimLeft(),trimRight()はエイリアス。
実装状況(MDN)



' a '.trimStart(); //"a " 
' a '.trimLeft();  //"a " 
' a '.trimEnd();   //" a" 
' a '.trimRight(); //" a" 

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)