ES6中關於函式的拓展

2022-07-10 07:54:17 字數 893 閱讀 2654

es6 允許為函式的引數設定預設值,即直接寫在引數定義的後面。

function log(x, y = 'world') 

log('hello') // hello world

log('hello', 'china') // hello china

log('hello', '') // hello

也可以使用表示式來計算

let x = 99;

function foo(p = x + 1)

foo() // 100

x = 100;

foo() // 101

陣列和物件的寫法

// 陣列的寫法

function add([x, y])

// 物件的寫法

function move( = {})

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

unction add(...values) 

return sum;

}add(2, 5, 3) // 10

rest 引數之後不能再有其他引數(即只能是最後乙個引數),否則會報錯。

注意點函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。

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

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

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

es6的函式拓展

參考 1.增加函式預設值 es6允許為函式提供預設值,與解構賦值一起使用,非常地方便 function foo foo 相當於執行let 輸出undefined 5 foo 相當於執行let 輸出 1 5 foo 1 2 foo typeerror cannot read property x of...

ES6 函式拓展內容

es6允許為函式的引數設定預設值,即直接寫在引數定義的後面。function log x,y world log hello hello world log hello yivi hello yivi log hello hello引數變數是預設宣告的,因此不能再用let或const再次宣告,也不能...

ES6 函式的拓展 四

一 引數帶預設值函式 1 在函式形參可以賦予函式預設值 即實參嚴格匹配undefined時,在函式內部使用形參時呼叫它的預設值 2 函式name屬性 返回函式名稱,無名的函式返回空字串 3 函式length屬性 從左往右開始計算函式形參直到碰到帶有預設值形參時結束計算,這樣計算的形參個數 eg 普通...