SE6基礎(3)

. 箭頭函數

箭頭函數表達式的語法比函數表達式更簡潔,並且沒有自己的this,arguments,super或 new.target。這些函數表達式更適用於那些本來需要匿名函數的地方,並且它們不能用作構造函數。

傳統函數與箭頭函數的對比
	傳統函數:
	function foo(){}
	let   foo=function(){}
	
	箭頭函數
	let  foo=()=>函數執行代碼

問題 : 帶有參數及返回值的箭頭函數如何定義?
答 :

傳統
function   foo(num){
return  num;
}

箭頭函數:
let  foo=num(形參)=>num(返回值);

多個參數甚至多條函數執行體的結構

let   foo = (a,b) => {let c=100;console.log(a+b+c)};

注意:多個參數需要使用括號,多個函數執行體需要使用大括號

箭頭函數使用時需要注意的 :

  1. 箭頭函數中this取決於函數的定義,而不是調用

  2. nodejs環境下this表示函數所有普成員

  3. 箭頭函數不可以使用new

  4. 箭頭函數不可以使用argument獲取參數

.類與繼承

在ES6中,class (類)作爲對象的模板被引入,可以通過 class 關鍵字定義類。

class 的本質是 function。

// 匿名類
let Example = class {
    constructor(a) {
        this.a = a;
    }
}
// 命名類
let Example = class Example {
    constructor(a) {  //實例
        this.a = a;
    }
}


 	//實例的語法直接可以寫在類的內部
	// 方法的語法結構:  方法名稱(){方法體}
	// 在實例方法的內部的this是實例對象自己
	// 在使用ES6中的class模擬對象時  類的內部每一個成員之間不能使用逗號

注意 : ES6創建的類,不允許直接調用,在ES5中,構造函數是可以直接運行的,

但在ES6中不行,轉碼的構造函數中有_classCallCheck語句防止代碼直接運行

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章