ES6 之函式篇

2021-09-02 05:51:22 字數 1107 閱讀 7571

函式引數預設值

function welcome(x, y = 'world') 

welcome('hello') // hello world

welcome('hello', 'china') // hello china

welcome('hello', '') // hello

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

let x = 99;

function foo(p = x + 1)

foo() // 100

x = 100;

foo() // 101

乙個容易忽略的地方是,引數預設值不是傳值的,而是每次都重新計算預設值表示式的值。也就是說,引數預設值是惰性求值的。上面**中,引數p的預設值是x + 1。這時,每次呼叫函式foo,都會重新計算x + 1,而不是預設p等於 100。

箭頭函式

es6 允許使用「箭頭」(=>)定義函式

var f = v => v;

// 等同於

var f = function (v) ;

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

// 等同於

var sum = function(num1, num2) ;

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

(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之函式優化

函式引數預設值 在es6以前,我們無法給乙個函式引數設定預設值,只能採用變通寫法 function add a b 傳乙個引數 console.log add 10 現在可以這麼寫 function add a b 1 傳乙個引數 console.log add 10 箭頭函式 es6中定義函式的簡...

ES6之 函式(五)

rest 引數 變數名 報錯 function f a,b,c 箭頭函式 箭頭函式的特點 案例 案例 1 varf v v 上面的箭頭函式等同於 varf function v letfun function fun 案例 2 沒有形參,並且函式體只有一條語句 letfun1 console.log...