Es 6-関数(二)
5394 ワード
以下のブログを参照して、元のブログをもっと詳しく見ることをお勧めします.ES 6チェン1峰
restパラメータは関数の余分なパラメータを取得し、restの後ろの変数は配列である.変数はパラメータを配列に入れます.使用方法:...変数名
注意restの後に他のパラメータは存在しない、すなわちrestパラメータは関数のパラメータの最後のパラメータでなければならない.
新聞を誤る
関数のlengthプロパティにはrestパラメータは含まれません.
拡張演算子はrestパラメータの逆演算と見なすことができ、配列をカンマで区切られたパラメータシーケンスに変換する方法です:...
演算記号は主に関数呼び出しに用いられる.
上の演算子は使用されています.実行関数xydがそうである場合、変数arrは配列であり、演算子を使用して変数arrをパラメータシーケンスに変換する.ここで結果は3です.
拡張演算子はapplyメソッドの代わりに使用できます.
拡張演算子の適用:
配列を結合する;
解構賦値と結合する.
注:拡張演算子を使用して解構賦値と組み合わせて使用する場合.拡張演算子は最後でなければなりません.そうしないと、エラーが発生します.
関数のnameプロパティは、関数の名前を返します.
注意関数は匿名の関数です.ES 5は空の文字列を返す.ES 6は実際の関数の名前を返す.
restパラメータ
restパラメータは関数の余分なパラメータを取得し、restの後ろの変数は配列である.変数はパラメータを配列に入れます.使用方法:...変数名
function xyd(...a){
console.log(a);
}
xyd(1,2,3)//[1,2,3]; xyd ,rest a, 1,2,3 ;
注意restの後に他のパラメータは存在しない、すなわちrestパラメータは関数のパラメータの最後のパラメータでなければならない.
function xyd(...a,b){console.log(a,b);}
xyd(1,2,3,4,6)
新聞を誤る
関数のlengthプロパティにはrestパラメータは含まれません.
拡張演算子
拡張演算子はrestパラメータの逆演算と見なすことができ、配列をカンマで区切られたパラメータシーケンスに変換する方法です:...
console.log(...[1,2,3]);//1 2 3
console.log(1,...[1,2,3]);// 1 1 2 3
演算記号は主に関数呼び出しに用いられる.
function xyd(x,y){
console.log('x='+x,'y='+y)
}
var arr = [1,2];
xyd(...arr);//3
上の演算子は使用されています.実行関数xydがそうである場合、変数arrは配列であり、演算子を使用して変数arrをパラメータシーケンスに変換する.ここで結果は3です.
拡張演算子はapplyメソッドの代わりに使用できます.
// ES5
function f(x, y, z) {
console.log(x,y,z)
}
var args = [0, 1, 2];
f.apply(null, args);
// ES6
function f(x, y, z) {
// ...
}
var arr= [0, 1, 2];
f(...arr);
拡張演算子の適用:
配列を結合する;
var a = [1,2,3];
var b = [4,5,6];
var c = [7,8,9];
var x = [...a,...b,...c]
console.log(x);//[1, 2, 3, 4, 5, 6, 7, 8, 9]
解構賦値と結合する.
var [fistn,...test] = [1,2,3,4,5,6];
console.log(fistn);//1
console.log(test);//[2,3,4,5,6]
注:拡張演算子を使用して解構賦値と組み合わせて使用する場合.拡張演算子は最後でなければなりません.そうしないと、エラーが発生します.
nameプロパティ
関数のnameプロパティは、関数の名前を返します.
function xyd(){
}
console.log(xyd.name);//xyd
注意関数は匿名の関数です.ES 5は空の文字列を返す.ES 6は実際の関数の名前を返す.
var a = function (){}
console.log(a.name);// ES5 ""
console.log(a.name);// ES6 a