ES 6の10の重要な特性
2046 ワード
ES 6の10の重要な特性を転送
const、letはブロックレベルの作用域を有し、グローバル汚染 をもたらさない.強制はまず定義してから を使用しなければならない.
forEach map filter find every some reduce
矢印関数は定義時にthisにバインドされています
ES 6はClass類の継承を増やしたが、これはプロトタイプ継承の原理を変えることはなく、ここのclassは実はプロトタイプ継承に基づく文法糖である
オブジェクトの構文が強化され、より容易になります.同じ名前の属性付与 定義関数 動的属性 を定義する
結合文字列、置換変数の方が便利
関数パラメータにデフォルト値を定義し、値が入力されていない場合はデフォルト値になります.
拡散オペレータ
連結配列:
オブジェクトなどの操作を解くこともできます残りオペレータ
1つの変数を使用して、パラメータに残っているすべてのパラメータを受信します.
配列解包 オブジェクト解包は、オブジェクトの属性を同名変数 に解包することができる.
Promiseは実際には、遅延した結果に期待しています.Promiseには2つのチャネルがあります.1つ目は戻りの結果で、2つ目は可能なエラーです.結果を取得し、Promiseのthenメソッドにコールバック関数を提供します.発生したエラーをキャプチャし、Promiseのcatchメソッドにコールバック関数を提供します.
一、constと、letキーワード
二、Arrayヘルプ関数
三、矢印関数
矢印関数は定義時にthisにバインドされています
四、Class
ES 6はClass類の継承を増やしたが、これはプロトタイプ継承の原理を変えることはなく、ここのclassは実はプロトタイプ継承に基づく文法糖である
五、強化されたオブジェクト文法
オブジェクトの構文が強化され、より容易になります.
六、テンプレート文字列
結合文字列、置換変数の方が便利
七、関数のデフォルトパラメータ
関数パラメータにデフォルト値を定義し、値が入力されていない場合はデフォルト値になります.
八、拡散と残りのオペレータ
const a = ...[1,2,3,4] //1 2 3 4
連結配列:
const a = [...[1,2],...[3,4,]] //[1,2,3,4]
オブジェクトなどの操作を解くこともできます
function a(a, b,...rest){
}
1つの変数を使用して、パラメータに残っているすべてのパラメータを受信します.
九、解包
function print([,second,,fourth]){
console.log(second,fourth)
}
print([1,2,3,4]) //2 4
const person = {
name: 'j',
age: 21,
interest: 'ball'
}
function print({name,interest}){
console.log(name,interest)
}
print(person) //j ball
十、Promise
Promiseは実際には、遅延した結果に期待しています.Promiseには2つのチャネルがあります.1つ目は戻りの結果で、2つ目は可能なエラーです.結果を取得し、Promiseのthenメソッドにコールバック関数を提供します.発生したエラーをキャプチャし、Promiseのcatchメソッドにコールバック関数を提供します.
function asyncFunc() {
return new Promise((resolve,reject)=>{
setTimeout(()=>{
const result = Math.random();
result > 0.5 ? resolve(result) : reject('I can not calculate')
},1)
});
}
for(let i=0;i<10;i++){
asyncFunc()
.then(result=> console.log('Result is='+result))
.catch(result=> console.log('Error: '+result))
}