function
log(x, y = 'world')
log('hello') // hello world
log('hello', 'china') // hello china
log('hello', '') // hello
function
foo()
foo({}) // undefined, 5
foo() // 1, 5
foo() // 1, 2
foo() // typeerror: cannot read property 'x' of undefined
rest引數搭配的變數是乙個陣列,該變數將多餘的引數放入陣列中
function
push
(array, ...items) );
}var a = ;
push(a, 1, 2, 3)
將乙個陣列轉為用逗號分隔的引數序列
function
f(v, w, x, y, z)
var args = [0, 1];
f(-1, ...args, 2, ...[3]);
var arr1 = ['a', 'b'];
var arr2 = ['c'];
var arr3 = ['d', 'e'];
// es5的合併陣列
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ]
// es6的合併陣列
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest // [2, 3, 4, 5]
[...'hello']
// [ "h", "e", "l", "l", "o" ]
var f = v => v;
//等價於
var f = function
(v) ;
注意
函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件
不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲乙個錯誤
不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用rest引數代替
不可以使用yield命令,因此箭頭函式不能用作generator函式
用於物件的合併,將源物件(source)的所有可列舉屬性,複製到目標物件(target)
//同名屬性,後面覆蓋前面
var target = ;
var source1 = ;
var source2 = ;
object.assign(target, source1, source2);
target //
該方法實行的是淺拷貝,即如果源物件某個屬性的值是物件,那麼目標物件拷貝得到的是這個物件的引用 五 ES6之物件
j ascript中物件 var person 或 var name jack var age 20 var person console.log person.age 20es6中的簡潔表示 let name,age jack 20 let person 等同person console.log ...
ES6之 函式(五)
rest 引數 變數名 報錯 function f a,b,c 箭頭函式 箭頭函式的特點 案例 案例 1 varf v v 上面的箭頭函式等同於 varf function v letfun function fun 案例 2 沒有形參,並且函式體只有一條語句 letfun1 console.log...
ES6學習筆記(函式擴充套件)
1.預設引數function people people 輸出 3 30 people 輸出 undefined 302.擴充套件運算子 剩餘引數 在es6之前,如果要在方法內將多字符集成為乙個陣列,一般會使用以下寫法 function sum sum 1,2,123,qwer es6之後,使用運算...