004. ES6之函数的扩展
生活随笔
收集整理的這篇文章主要介紹了
004. ES6之函数的扩展
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
1. 函數(shù)參數(shù)的默認(rèn)值
ES6 允許為函數(shù)的參數(shù)設(shè)置默認(rèn)值,
function log(x, y = 'World') {console.log(x, y); }log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello// 1. 參數(shù)變量是默認(rèn)聲明的,所以不能用 let 或 const 再次聲明 function foo(x = 5) {let x = 1; // errorconst x = 2; // error }// 2. 使用默認(rèn)值時(shí),函數(shù)不能有同名參數(shù)// 3. 參數(shù)默認(rèn)值不是傳值的,而是每次都重新計(jì)算默認(rèn)值表達(dá)式的值 let x = 99; function foo(p = x + 1) {console.log(p); } foo() // 100 x = 100; foo() // 1012. 與結(jié)構(gòu)賦值默認(rèn)值結(jié)合使用
function foo({x, y = 5}) {console.log(x, y); } foo({}) // undefined 5 foo({x: 1}) // 1 5 foo({x: 1, y: 2}) // 1 2 foo() // TypeError: Cannot read property 'x' of undefined// 提供函數(shù)默認(rèn)值 function foo({x, y = 5} = {}) {console.log(x, y); } foo() // undefined 53. 參數(shù)默認(rèn)值的位置
// 例一 function f(x = 1, y) {return [x, y]; }f() // [1, undefined] f(2) // [2, undefined]) f(, 1) // 報(bào)錯(cuò) f(undefined, 1) // [1, 1]// 例二 function f(x, y = 5, z) {return [x, y, z]; }f() // [undefined, 5, undefined] f(1) // [1, 5, undefined] f(1, ,2) // 報(bào)錯(cuò) f(1, undefined, 2) // [1, 5, 2]如果傳入 undefined ,將觸發(fā)該參數(shù)等于默認(rèn)值, null 則沒有這個(gè)效果
function foo(x = 5, y = 6) {console.log(x, y); }foo(undefined, null) // 5 null4. 函數(shù)的 length 屬性 是指沒有指定默認(rèn)值的參數(shù)個(gè)數(shù)
5. name 屬性
6. 箭頭函數(shù)
7. 雙冒號(hào)運(yùn)算符
轉(zhuǎn)載于:https://my.oschina.net/u/3563169/blog/1861243
總結(jié)
以上是生活随笔為你收集整理的004. ES6之函数的扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦里梦到老鼠什么预兆
- 下一篇: 算法之美 : 位运算