es6 簡介 簡化的object 箭頭函式

2021-09-29 15:35:15 字數 2645 閱讀 6007

物件的簡化寫法

es6 允許直接寫入變數和函式,作為物件的屬性和方法。這樣的書寫更加簡潔

let foo =

"bar"

let baz =

等同於const baz =

//除了屬性簡寫,方法也可以簡寫。

const fun =};

// 等同於

const fun =

};

箭頭函式

es6允許用箭頭(=>)宣告函式,更加快捷方便。()=>{}等價於function (){}。

箭頭函式與簡單函式的區別

沒有引數時

語法:變數名=(

)=>

//1.沒有引數的情況 ()=>{}

varf=(

)=>f(

);

有引數時

語法:變數名=(引數1,引數2)=>,如果只有乙個引數,可以將()省略,兩個或兩個以上引數不能省略(),每個引數之間用』,』隔開。

乙個引數的情況

varf

= n =>

console.

log(sum)

;//5050}f

(100);

//多個引數的情況,不能省略(),多個引數之間用,隔開

varf4

=(n,m)

=>f4(

10,20)

;

有返回值時

語法:變數名 = (引數)=>

//普通函式返回值

function

fun5

(n,m)

console.

log(

fun5(2

,3))

;//6

//箭頭函式返回值

varfu

=(n,m)

=>

console.

log(fu(

10,20)

);//200

如果函式體中就一條語句,可以省略大括號{},如果這一條語句是返回值,還可以省略return關鍵字。

//1.如果函式體中就一條語句,可以省略{}

letf

=n=>console.

log(n)

;//10f(

10)//2.如果這一條語句是返回值,則還可以省略return關鍵字

varf1

=(n,m)

=> n*m;

//省略return

console.

log(f1(

10,20)

);//200

箭頭函式中的this

在全域性函式的中的this

//1.在window中定義,this指向window

function

fun(

)fun()

;var

fun1

= n =>

fun1()

;

window中宣告的函式,es5和es6中的this都指向window。

在事件處理函式中的this

var odiv = document.

getelementbyid

("box");

odiv.

onclick

=function()

odiv.

onclick=(

)=>

在事件處理函式中的this

var odiv = document.

getelementbyid

("box");

odiv.

onclick

=function()

odiv.

onclick=(

)=>

如果是作為事件處理函式,es5中的this指向的是當前觸發事件的物件,箭頭函式指向的是window

在物件方法中的this

//在建構函式中給物件新增了eat方法,呼叫這個方法會返回乙個函式

function

person()

}}var p =

newperson()

;p.eat()(

);//函式返回到外面,全域性呼叫,this-->window

//箭頭函式裡面的this,在那定義就指向誰

function

dog()}

}var d =

newdog()

;d.eat();

//在dog建構函式裡面呼叫,this--->dog

函式宣告在物件方法中,es5中因為函式傳出到全域性所以指向的是window,es6中函式在那定義的就指向誰,所以this指向dog。

注:箭頭函式注意點

箭頭函式內的this物件,就是定義時所在的物件,而不是使用時所在的物件

不可以當做建構函式,不能使用new 命令 否則會丟擲錯誤

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

ES6系列 ES6簡介

2015年6月17日,ecmascript的第六個版本正式發布,該版本正式名稱為ecmascript 2015,但通常被稱為ecmascript 6或者es6。瀏覽器對es6的支援情況 es6主要應用於node.js,如果想用在瀏覽器中,就需要使用轉碼器 將es6 轉成es5 這意味著,可以用es6...

ES6 簡化物件導向OOP

1.如果物件的成員值來自於外部的變數,且屬性名和變數名相同時,可只寫乙個 比如 var signin function varsignup function varsignout function var obj 簡寫成 var obj 將三個函式放在乙個中匯出export module.expor...

es6 箭頭函式 返回物件簡化

乙個引數可省括號 無引數寫括號 乙個返回值可省return 正常函式 function fun age var num 18var age function age age num 4 箭頭函式 letage2 num 乙個引數可省括號 let age2 num 乙個返回值可省return let ...