ES6 函式的擴充套件

2021-08-08 23:33:14 字數 1577 閱讀 9043

在es5中有這種情況

function fn(a, b)

fn();//30

fn(0, 10);//20因為a=0,所以將10賦給它

在es6中

function fn(a = 10, b = 20)

fn();//30

fn(0, 10);//10

rest 引數形式為(「…變數名」),用於獲取函式的多餘引數,這樣就不需要使用arguments物件了。rest 引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中。

在es5中

function

sum();

console.log(fn(

1));//1

console.log(fn2(2));//2

2) 箭頭函式的其他語法

一般情況

const

fn = (a, b) => a + b;

console.log(fn(

1, 2));//3

表示式

const

fn = (a, b) => ;

console.log(fn(

1, 2));//3

物件

const

fn = (a, b) => ();

console.log(fn(

1, 2));//

陣列

//在es5中從小到大排序

var arr = [5, 2, 3, 4, 1];

arr.sort(function

(a, b));

console.log(arr);//[1,2,3,4,5]

arr.sort((a, b) => a - b);

console.log(arr);//[1,2,3,4,5]

3) 注意點

① 箭頭函式體內沒有自己的this物件,所以在使用的時候,其內部的this就是定義時所在環境的物件,而不是使用時所在環境的物件。

function fn(), 1000);

settimeout(() => ,1000);

}var

obj = ;

fn.call

(obj);//分別列印出window和object

function fn(), 1000)

}fn(

1, 2, 3);//1,2,3

const

fn = (...arr) => arr;

console.log(fn(

1, 2, 3, 4));//[1,2,3,4]

③ 不可以當作建構函式,不可以使用new命令,否則會丟擲乙個錯誤。

const

fn = (a, b) => a + b;

const f = new fn(1, 2);//報錯

ES6 函式擴充套件

函式在js裡是相當重要的一部分了,es6裡也新增了一些函式方法,來看一下 test hello hello world test hello kill hello kill es6增加了函式引數預設值,可以直接在宣告引數的同時賦預設值,但是也可以後面重新賦值 test2 kill 括號內有引數x時,...

ES6函式擴充套件

函式引數的預設值 在es5中,我們想給函式乙個預設值,需要這樣寫 function add x,y 在es6中 可以這樣寫 function add x,y ss add dd ddss add ss dd ssdd add dd dd我們只需要在引數上直接寫上我們想要的預設值就好了。當我們給函式乙...

ES6函式擴充套件

function fun a,b world fun hello 輸出helloworld let a aa function fun a,b a fun bb function fun arg fun 1,2,3,4,1 語法 param param 對應函式 function 沒有引數 乙個引數...