ES2019に入りそうな機能
ES2019に入りそうな機能:
出典:https://github.com/tc39/ecma262
※現時点で、ES2019に採用されるかは未確定です。
実装状況(MDN)
例
が、↓でもよくなる
JSONにおいて、エスケープされていないU+2028(LINE SEPARATOR)とU+2029(PARAGRAPH SEPARATOR)が扱えるようになる。
実装状況(MDN)
以下のような問題が解決されるはず
JSONPで受け取れない文字? \u2028 - Qiita
Symbolオブジェクトのdescriptionのみを返す。
実装状況(MDN)
例
Arrayの次元を下げることができる。
実装状況(MDN)
例
実装状況(MDN)
例
使い所が思いつかない��
グローバルオブジェクトを取得する統一された方法が無かったため、生み出された。
こちらが詳しいです。
��globalThis��と��global��と��this�� - Qiita
実装状況(MDN)
例
こちらが詳しいです。
Chrome、Safariで使えるJavaScriptのdynamic import(動的読み込み) - Qiita
任意精度の整数を扱えるようになる。(現在number型で正確に扱える最大の整数は9007199254740991)
例
こちらが詳しいです。
Chrome 67からJavaScriptのプリミティブ型BigIntが使用可能に - Qiita
キーと値を持つArrayかMapをオブジェクトに変換できる。(
実装状況(MDN)
例
実装状況(MDN)
例
出典:https://github.com/tc39/ecma262
※現時点で、ES2019に採用されるかは未確定です。
optional-catch-binding(Stage4)
try...catchのcatchの引数が必須でなくなる。実装状況(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"
コメント
コメントを投稿