ES6
-
変数を変更します
constのを聞かせて
2.文字列メソッドを追加します。
聞かせてSTR = '反応';
真str.includes( '再')//
str.repeat(3)// reactreactreact
str.startsWith(「再」)// trueの場合、パラメータ2の場所を見つけるために
str.endsWith( 'P'、4)// trueの場合、パラメータは2を見ている文字列です。
3.キーと値のペアと同じ名前の省略形
関数人(名前、年齢){
リターン{
名前、
年齢
};
}
4.オブジェクトリテラル速記
getName(){//コロン(:)を省略し、機能は、キーワード
はconsole.log(this.name)を
}
オブジェクトがマージされます
Object.assign({}、OBJ1、OB2)。
6.残りのパラメータデータと解体
constの人々 = {
名: 'CS'、
年齢:25
}
のconst {名前、年齢} =人。// 'CS'、25
//配列解体の
CONST ARR = 1 ,. 3 ,. 4]、
CONST [A、B、C] = ARR; // 1 ,. 3 ,. 4。
//残りのパラメータ、オブジェクトを返し
、{2、B :. 3、C :. 4、D :. 5 OBJ = A} CONSTを
REST = OBJ CONST {A、...}; // B 2 {。:3 C:4、D 5 }
7.データを展開
//(単にオブジェクト集約として、Object.assign上記())オブジェクトを展開
CONST {OBJ = A 2、B:} 3。
はconsole.log(OBJ {...、C :. 5}); // { 2、B :. 3、C :. 5}
//アレイ展開
CONST ARR = 1 ,. 3 ,. 4]
はconsole.log([... ARR ,. 5]); // [1 ,. 3 ,. 4 ,. 5]
8.約束
//解決、拒否的に使用する
機能getNum(){
CONST randomNum = Math.ceil(Math.random()* 10)。
戻り新しいプロミス((解決)=>拒否{
(randomNum> 5){場合の
)解決( '大于5';
{}そうでなければ
( '小于5')拒絶;
}
})
}
。getNum()を((結果)=> {
にconsole.log( '成功'、結果);
}。)キャッチ((ERR)=> {
にconsole.log(ERR、 'ERR');
});
9.設定
//、セットに一般的に使用されるメソッドとプロパティインスタンスを追加、削除、消去、有し、サイズ
CONST新しい新しい集合S =([ 'A'、 'B'、 'C']);
にconsole.log(S); {//セット'A'、 'B'、 'C'}
の真の、BOOL値にはconsole.log(s.has( 'A'))//
はconsole.log(s.size)// 3
はconsole.log(s.clear( )){} //設定
をtrueにはconsole.log(s.delete( 'A'))//、BOOL値
const A = [1、2、3]
CONST B = [2、3、4]。
//并集の
constのS = Array.from(新しいセット([...、... B])); // [1、2、3、4]
//交集、差集
CONST BSET =新しいセット(B)。
CONST interestSet = a.filter(V => bSet.has(V))。// [2,3]
CONST interestSet = a.filter(V => bSet.has(V)!)。// [1]
ES7
1.指数演算子(**)
Math.pow(3、2)=== 3 ** 2 // 9
2. Array.prototype.includes()
[1、2、3] .indexOf (3)> -1 //真の
と等価である:
[1、2 ,. 3] .INCLUDES //真〜(3)。
SS8
1.非同期、非同期ソリューションを待ちます
2つの提案するシナリオがあります。JSは、シングルスレッド、最適化された書き込みコールバック地獄です。
これ。http.jsonp $( '/ログイン'、(RES)=> {
この。http.jsonp $( '/ GETINFO'、(情報)=> {
//何かを
)}
})
コールバックES6を解決するためにモードを書いて、その関数が導入された約束、時間のビジネスロジックの多くは、その後、チェーンを必要な複数の機能は、非常に明確なセマンティクスになります。
新しい約束((解決、拒否)=> {this.login(解決)})
.then(()=> this.getInfo())
.then(()=> {//何かをする})
.catch(( )=> {にconsole.log( "エラー")})
(各段階を実行するときにはっきりしていない)ジェネレータ関数は、それが次の状態ポインタ配信タスクによってだけセグメントタスクであるが、あまり便利なプロセス管理を浮上し、それが唯一の中間生成物です。
GEN関数* =一定(){
this.login CONST F1 =収率()
CONST F2 =収率this.getInfo()
};
ES8における非同期より便利、それは実際に糖衣構文ジェネレータで待ちます。非同期/非同期コード、以前のメソッドコールバック関数との約束を書き込むための新しい方法を待っています。プロミスと比較して、より簡潔であり、かつエラーハンドリングは、条件文は、中間値を得ることはより便利です。
asyncFunc機能非同期(のparams){
constの=結果1のawaitのthis.login()
constが=のawait this.getInfoを(結果2)
}
、あなたが特定の時間非同期をお知りになりたい場合はルアンYifengのブログes6.ruanyifeng.com/#docs/を見ることができます非同期
2. Object.entries()
これは、2次元アレイ状に返されるオブジェクトの属性値を挙げることができます。(ターゲットオブジェクトが配列の場合、配列のインデックスキーとして返されます)
Object.entries({1:1、2:2})// [[ '1'、1]、[ '2'、2]]
Object.extries([1,3])// [[ '0' 、1]、[ '1'、3]
3. Object.values()
それが動作等Object.entries()メソッドが、それは唯一のキーの値を返し、その結果、一次元アレイであります
Object.values({1:1、2:2})// [1,2]
Object.values({3 'A'、1 'B'、2 'C'})// [B ' 」、 'C'、 '']
Object.extries([1,3])// [1,3]
4.文字列充填padStart()、padEnd()
ES8充填は、新しい文字列を提供し、この方法は、文字列が固定長に達するようにしてもよいです。これは、2つのパラメータ、文字列の長さ、およびターゲット充填内容を持っています。
'react'.padStart(10、 'M')//' mmmmmreact '
'react'.padEnd(10、 'M')//' reactmmmmm'
'react'.padStart(3、 'M')//'反応"