ES 2019新特性の学習
2647 ワード
前言
先端技術の更新が速すぎて、各種の枠組みが百花一斉に広がり、NodeJsの絶えない興隆に従って、各種の構築ツールも次々と現れてきました.これは前二週間の尤雨渓からVue.js 3.0のソースが始まりました.昨日NodeJs 13.0はまた発表しました.本当に勉強ができなくなりました.でも、プログラマという道を選んだ以上、常に新しい技術の勉強を続けなければなりません.ES 2019(ES 10)の年初に発表しましたが、プロジェクトでよく使われているのはES 6とコアバージョンですので、ES 2019の新しい特性を勉強しなければなりません.
注:デバッグコードブラウザバージョン:Google Chrome 76.0.3809.9132(64ビット)
1.アラy.prototype flat
複数の階層の配列を1つの配列に並べてプロジェクト開発においてもよく使われています.flat()方法は、指定された深さに従って配列を再帰的に巡回し、すべての要素を遍歴されたサブアレイの要素と結合して、新しい配列に戻る構文です.
var newAray=arr.flat([depth])
パラメータは、ネスト配列を抽出する構造深さを指定します.標準値は1です.階層が1層を超える場合は、Infinityを使用して、マルチレベルの配列を1つの配列に並べて並べることができます.
は、行列とサブアレイのすべての要素を含む新しい配列を返します.
jsのStringタイプはすでにtrim()の方法があります.役割を果たす時は文字列の前後のスペースを取り除きます.
1.trimStart()メソッドは文字列の先頭からスペースを削除します.trimLeft()は、この方法のエイリアスの値を返した新しい文字列で、その先頭(左端)からスペースを除いたコール文字列を表します.
Object.from EntriesはObject.entriesの逆方向の方法です.
Object.entriesはキーをオブジェクトに、Arayに変換します.
Object.from EntiesはArayやMapなどのオブジェクトをキーのオブジェクトに変換します.
String()メソッドは、現在の関数のソースコードを表す文字列を返します.
前にtry catchを使った時に、catchに書かなければならないパラメータがあります.
この提案の動機は、JSON文字列には、転送されていないU+2028 LINE SEPARTORとU+2029 PAAGRAPH SEPAATOR文字が含まれていますが、ECMAScript文字列はできません.ES 2019の前に、SyntaxErrer:Invalid or unexpected tokenを間違えます.
const LS=eval('\\u 2028')const PS=eval('\u 2029')
以上はよく使われているES 2019の新しい特性だけを列挙して説明しましたが、ちょうど今日は10月24日のプログラマーデーがありますので、皆様の祝日の楽しみと技術の向上をお祈りします.
参考資料:MDN
先端技術の更新が速すぎて、各種の枠組みが百花一斉に広がり、NodeJsの絶えない興隆に従って、各種の構築ツールも次々と現れてきました.これは前二週間の尤雨渓からVue.js 3.0のソースが始まりました.昨日NodeJs 13.0はまた発表しました.本当に勉強ができなくなりました.でも、プログラマという道を選んだ以上、常に新しい技術の勉強を続けなければなりません.ES 2019(ES 10)の年初に発表しましたが、プロジェクトでよく使われているのはES 6とコアバージョンですので、ES 2019の新しい特性を勉強しなければなりません.
注:デバッグコードブラウザバージョン:Google Chrome 76.0.3809.9132(64ビット)
1.アラy.prototype flat
複数の階層の配列を1つの配列に並べてプロジェクト開発においてもよく使われています.flat()方法は、指定された深さに従って配列を再帰的に巡回し、すべての要素を遍歴されたサブアレイの要素と結合して、新しい配列に戻る構文です.
var newAray=arr.flat([depth])
パラメータは、ネスト配列を抽出する構造深さを指定します.標準値は1です.階層が1層を超える場合は、Infinityを使用して、マルチレベルの配列を1つの配列に並べて並べることができます.
は、行列とサブアレイのすべての要素を含む新しい配列を返します.
var arr=[1,2,[3,4,[5,6]]];
var arr2=arr.flat(); //[1, 2, 3, 4, [5, 6]]
var arr3=arr.flat(Infinity); //[1, 2, 3, 4, 5, 6]
2.String.prototype trimStart and trimEndjsのStringタイプはすでにtrim()の方法があります.役割を果たす時は文字列の前後のスペースを取り除きます.
1.trimStart()メソッドは文字列の先頭からスペースを削除します.trimLeft()は、この方法のエイリアスの値を返した新しい文字列で、その先頭(左端)からスペースを除いたコール文字列を表します.
var str=" Hello world ";
var str1=str.trimStart(); //Hello world
var str2=str.trimLeft(); //Hello world
2.trimEnd()メソッドは、文字列の端から空白文字を削除します.trimRight()は、この方法の別名戻り値の新しい文字列で、呼び出し文字列の末尾(右)から空白を取り除くことを表しています.var str=" Hello world ";
var str1=str.trimEnd(); // Hello world
var str2=str.trimRight(); // Hello world
3.Object.from EntiesObject.from EntriesはObject.entriesの逆方向の方法です.
Object.entriesはキーをオブジェクトに、Arayに変換します.
Object.from EntiesはArayやMapなどのオブジェクトをキーのオブジェクトに変換します.
var arr=[
['name','tom'],
['age','18']
];
var arr1=Object.fromEntries(arr);
console.log(arr1);
// {name: "tom", age: "18"}
4.Function.prototype.toStringString()メソッドは、現在の関数のソースコードを表す文字列を返します.
function sayHello(){
// say Hello
alert('hello');
}
console.log(sayHello.toString());
//
function sayHello(){
// say Hello
alert('hello');
}
5.オプションのcatchバインディング(Catch Binding)前にtry catchを使った時に、catchに書かなければならないパラメータがあります.
try{
alert(msg);
}catch(err){
console.log(err);
}
// msg is not defined
今はcatchの後ろにパラメータを書かなくてもいいです.便利です.try{
// code
}catch{
//
}
6.JSONオーバーセットこの提案の動機は、JSON文字列には、転送されていないU+2028 LINE SEPARTORとU+2029 PAAGRAPH SEPAATOR文字が含まれていますが、ECMAScript文字列はできません.ES 2019の前に、SyntaxErrer:Invalid or unexpected tokenを間違えます.
const LS=eval('\\u 2028')const PS=eval('\u 2029')
以上はよく使われているES 2019の新しい特性だけを列挙して説明しましたが、ちょうど今日は10月24日のプログラマーデーがありますので、皆様の祝日の楽しみと技術の向上をお祈りします.
参考資料:MDN