ES6學習之 箭頭函式

2021-09-29 22:49:27 字數 1579 閱讀 3122

es6 允許使用「箭頭」(=>)定義函式。=>前面是引數,後面是方法體

var f = v => v;

// 等同於

var f = function (v) ;

如果箭頭函式不需要引數或需要多個引數,就使用乙個圓括號代表引數部分。

var f = () => 5;

// 等同於

var f = function () ;

var sum = (num1, num2) => num1 + num2;

// 等同於

var sum = function(num1, num2) ;

如果箭頭函式的**塊部分多於一條語句,就要使用大括號將它們括起來,並且使用return語句返回。

var sum = (num1, num2) =>
由於大括號被解釋為**塊,所以如果箭頭函式直接返回乙個物件,必須在物件外面加上括號,否則會報錯。

// 報錯

let gettempitem = id => ;

// 不報錯

let gettempitem = id => ();

const full = () => first + ' ' + last;

// 等同於

function full(person)

// 正常函式寫法

[1,2,3].map(function (x) );

// 箭頭函式寫法

[1,2,3].map(x => x * x);

另乙個例子是

// 正常函式寫法

var result = values.sort(function (a, b) );

// 箭頭函式寫法

var result = values.sort((a, b) => a - b);

下面是 rest 引數與箭頭函式結合的例子。

const numbers = (...nums) => nums;

numbers(1, 2, 3, 4, 5)

// [1,2,3,4,5]

const headandtail = (head, ...tail) => [head, tail];

headandtail(1, 2, 3, 4, 5)

// [1,[2,3,4,5]]

箭頭函式有幾個使用注意點。

(1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。

(2)不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲乙個錯誤。

(3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用 rest 引數代替。

(4)不可以使用yield命令,因此箭頭函式不能用作 generator 函式。

ES6之箭頭函式

一 基本用法 es6 允許使用 箭頭 定義函式。var f 5 等同於 var f function var sum num1,num2 num1 num2 等同於 var sum function num1,num2 如果箭頭函式的 塊部分多於一條語句,就要使用大括號將它們括起來,並且使用retu...

ES6學習 箭頭函式

定義 params1,params2,params3.其中 中的內容為傳入箭頭函式的引數,為函式內的內容。規範 1 引數部分 1 如果有多個引數,不能省略 如果引數個數不明,可以用.rest表示,但是.rest必須放在最後 2 如果只有乙個引數,可以省略 3 如果沒有引數,那麼可以用 表示 eg 2...

ES6學習 箭頭函式

語法非常簡潔,箭頭就是這個樣 原來的函式寫法 function show 變成箭頭函式 let show 1 箭頭左邊的括號就是這個括號 1就是return的1 說白了,就是箭頭左邊是引數,右邊是返回值。函式名用變數表示。例 let show a,b a b 如果有多條語句 語句 return 例 ...