ES 6-関数拡張
1310 ワード
関数の新規プロパティ
関数のデフォルト値、restパラメータ、拡張演算子、矢印関数、thisバインド、末尾呼び出し
関数パラメータのデフォルト値
restパラメータ
いくつかのパラメータがあるかどうか分からない場合は...argは、パラメータを配列に変換し、restパラメータの後に他のパラメータを持つことはできません.
矢印関数
矢印関数thisの指向については、矢印関数でthisが最外層関数を指すthisは、文法の役割ドメインであり、コンテキストによって決定されるので、従来のvar that=thisは使用されなくなります.
エンドコール
テールコールの概念は非常に簡単で、一言ではっきり言えます.ある関数の最後のステップが別の関数を呼び出すことです.パフォーマンスを向上させることができます.
関数のデフォルト値、restパラメータ、拡張演算子、矢印関数、thisバインド、末尾呼び出し
関数パラメータのデフォルト値
{
//
function test(x,y=' '){
console.log(x,y)
}
test("wode")
//wode
test("wode",'tahao')
//wode tahao
// , c
}
{
let x='test';
function test2(x,y=x){
console.log(x,y)
}
test2("hi")
//hi hi
// ,
}
restパラメータ
いくつかのパラメータがあるかどうか分からない場合は...argは、パラメータを配列に変換し、restパラメータの後に他のパラメータを持つことはできません.
{
//rest
function test3(...arg){
for(let v of arg){
console.log(v)
}
}
test3(1,2,3,4,5,'a')
//1,2,3,4,5,a
}
矢印関数
{
//arrow ,v ,v*2
let arrow = v => v*2;
console.log(arrow(3))
//6
let arrow2=()=>5;
console.log(arrow2());
//5
}
矢印関数thisの指向については、矢印関数でthisが最外層関数を指すthisは、文法の役割ドメインであり、コンテキストによって決定されるので、従来のvar that=thisは使用されなくなります.
エンドコール
テールコールの概念は非常に簡単で、一言ではっきり言えます.ある関数の最後のステップが別の関数を呼び出すことです.パフォーマンスを向上させることができます.
{
function tail(x){
console.log(x)
}
function fx(x) {
return tail(x)//
}
fx(123)
//123
}