ES6 箭頭函式

2021-09-19 09:45:32 字數 1295 閱讀 1026

定義乙個箭頭函式很簡單,基本語法是:

([param] [, param]) => 

param => expression

param 是引數,根據引數個數不同,分這幾種情況:

() => // 零個引數用 () 表示;

x => // 乙個引數可以省略 ();

(x, y) => // 多引數不能省略 ();

當然,和普通函式一樣,箭頭函式也可以使用 es6 新增的「預設引數」和「剩餘引數」( firefox15+ 開始支援):

var func1 = (x = 1, y = 2) => x + y;

func1(); // 得到 3

var func2 = (x, ...args) => ;

func2(1,2,3); // 輸出 [2, 3]

箭頭函式允許多行語句或者單行表示式作為函式體。多行語句要用 {} 括起來;單行表示式不需要 {},並且會作為函式返回值:

x => ; // 函式返回 x * x

x => x * x; // 同上一行

x => return x * x; // syntaxerror 報錯,不能省略 {}

x => ; // 合法,沒有定義返回值,返回 undefined

箭頭函式也是 js 函式的一種,所以之前的 instanceof 和 typeof 依然可用:

var func1 = () => {};

func1 instanceof function; // true

var func2 = () => {};

typeof func2; // "function"

箭頭函式內部沒有 constructor 方法,也沒有 prototype,所以不支援 new 操作。new (() => {}) 會觸發 typeerror 報錯。

new (() => {}) // uncaught typeerror: () => {} is not a constructor(…)
箭頭函式沒有自己內部的 this 指標。在箭頭函式中, this 指標是繼承於其所在的作用域。(個人理解為箭頭函式不具備函式作用域,相當於表示式,this即為箭頭函式被呼叫時外層的this)

var a = 1;

var test = ,

d: ()=>

}test.c();//100

test.d();//1

es6箭頭函式

本例是在了解es6知識後在原來定義函式的基礎上進行理解var searchvalue 查詢匹配物件 var button var input var select button if searchvalue.input undefined button.click else 重新整理 tableli...

es6 箭頭函式

1.單引數 function cheng a 3 let cheng a 3 a a console.log cheng 9 2.多引數 function add a,b let add a,b a b 預設返回值 console.log add 3,9 3.無返回值 function add a,...

ES6 箭頭函式

es6 中,箭頭函式就是函式的一種簡寫形式,使用括號包裹數,跟隨乙個 緊接著是函式體 var getprice function 箭頭函式 var getprice 9.15 箭頭函式不僅僅是讓 變得簡潔,函式中 this 總是繫結總shi 指向物件自身 function person 1000 使...