亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

es6基礎(chǔ)0x004:剩余參數(shù)

waltr / 697人閱讀

摘要:概述剩余參數(shù)將沒(méi)有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組語(yǔ)法只聚合未對(duì)應(yīng)形參參數(shù)剩余參數(shù)只會(huì)將沒(méi)有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組而則是包含了所有的參數(shù)。剩余參數(shù)是數(shù)組剩余參數(shù)始終是一個(gè)數(shù)組,而不像是一個(gè)偽數(shù)組轉(zhuǎn)化成數(shù)組解構(gòu)剩余參數(shù)使用翻譯翻譯后

0x000 概述

剩余參數(shù)將沒(méi)有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組

0x001 語(yǔ)法
function(a, b, ...theArgs) {
}
0x002 只聚合未對(duì)應(yīng)形參參數(shù)

剩余參數(shù)只會(huì)將沒(méi)有對(duì)應(yīng)形參的參數(shù)聚合成一個(gè)數(shù)組, 而arguments則是包含了所有的參數(shù)。

function add(a, b, ...theArgs) {
    return {rest: theArgs, arguments}
}
add() 
// {rest: [undefined, undefined, []], arguments: Arguments(0)}
add(1) 
// {rest: [1, undefined, []], arguments: Arguments(1)}
add(1, 2) 
// {rest: [1, 2, []], arguments: Arguments(2)}
add(1, 2, 3, 4, 5) 
// {rest: [1, 2, [3, 4, 5]], arguments: Arguments(5)}
0x003 剩余參數(shù)是數(shù)組

剩余參數(shù)始終是一個(gè)數(shù)組,而不像arguments是一個(gè)偽數(shù)組

function add(...theArgs) {
    console.log(Array.isArray(theArgs))
    theArgs.forEach((a)=>console.log(a))
    console.log(Array.isArray(arguments))
    Array.prototype.slice.call(arguments, add.length).forEach((a)=>console.log(a)) // 轉(zhuǎn)化成數(shù)組
}
add(1,2,3) // true 1 2 3 false 1, 2, 3, 4
0x004 解構(gòu)剩余參數(shù)
function add(...[a, b, c]){
    return a + b +c
}
add(1, 2, 3) // 6
add(1, 2, 3) // 6
0x005 使用babel翻譯
function add(...num){
  return num.reduce((n1,n2)=>n1+n2)
}

翻譯后

function add() {
  for (var _len = arguments.length, num = Array(_len), _key = 0; _key < _len; _key++) {
    num[_key] = arguments[_key];
  }

  return num.reduce(function (n1, n2) {
    return n1 + n2;
  });
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/99145.html

相關(guān)文章

  • es6基礎(chǔ)0x007:展開(kāi)

    摘要:概述展開(kāi)符號(hào)真的是一個(gè)非常好用的東西,我常用于字符串分割數(shù)組合并數(shù)組拷貝對(duì)象合并對(duì)象拷貝。 0x000 概述 展開(kāi)符號(hào)真的是一個(gè)非常好用的東西,我常用于字符串分割、數(shù)組合并、數(shù)組拷貝、對(duì)象合并、對(duì)象拷貝。 0x001 語(yǔ)法 ...iterableObj 0x002 函數(shù)調(diào)用的時(shí)候參數(shù)展開(kāi) 這是在函數(shù)調(diào)用的時(shí)候,將參數(shù)展開(kāi),和剩余參數(shù)有區(qū)別,剩余參數(shù)是在函數(shù)聲明中使用 myFunctio...

    RyanQ 評(píng)論0 收藏0
  • es6基礎(chǔ)0x001:箭頭函數(shù)

    摘要:這就是所謂的箭頭函數(shù)不綁定,而在我看來(lái),回調(diào)函數(shù)就是箭頭函數(shù)最好的歸宿。 0x000 概述 箭頭函數(shù)有兩個(gè)作用: 更簡(jiǎn)短的寫(xiě)法 不綁定this 0x001 語(yǔ)法一表覽 ()=>{} ()=>{console.log(arrow);return null} ()=>hello (num1, num2)=>num1+num2 num=>++num ()=>({name:arrow})...

    stonezhu 評(píng)論0 收藏0
  • es6基礎(chǔ)0x003:默認(rèn)參數(shù)

    摘要:語(yǔ)法使用使用翻譯一下傳值檢測(cè)從翻譯的結(jié)果可以看出,默認(rèn)參數(shù)只檢查兩種情況不傳參數(shù)傳入前參后用前面的參數(shù)可以作為后面參數(shù)的默認(rèn)值,甚至可以對(duì)前面的參數(shù)做一些特別的操作,比如簡(jiǎn)單的加減乘除默認(rèn)參數(shù)調(diào)用函數(shù)賦值默認(rèn)參數(shù)甚至可以調(diào)用函數(shù),可以調(diào)用函 0x000 語(yǔ)法 function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defa...

    james 評(píng)論0 收藏0
  • es6基礎(chǔ)0x012:Map

    摘要:概述也是一個(gè)新的數(shù)據(jù)結(jié)構(gòu),在中其實(shí)也經(jīng)常用到,比如下面的栗子,我們經(jīng)常這么使用一個(gè)對(duì)象,與其說(shuō)他是對(duì)象,其實(shí)他更像一個(gè),但是比起真正的,這個(gè)還是有點(diǎn)弱了,初始化初始化一個(gè)有一個(gè)可選的參數(shù),該參數(shù)必須是一個(gè)可迭代對(duì)象,可迭代對(duì)象包括和用戶定 0x000 概述 Map也是一個(gè)新的數(shù)據(jù)結(jié)構(gòu),在js中其實(shí)也經(jīng)常用到,比如下面的栗子,我們經(jīng)常這么使用一個(gè)對(duì)象,與其說(shuō)他是對(duì)象,其實(shí)他更像一個(gè)Map...

    DesGemini 評(píng)論0 收藏0
  • es6基礎(chǔ)0x021:反射

    摘要:概述反射說(shuō)起來(lái)和上一章節(jié)的代理基本一樣,只是使用的方式不同,設(shè)計(jì)理念也不同。 0x000 概述 反射說(shuō)起來(lái)和上一章節(jié)的代理基本一樣,只是使用的方式不同,設(shè)計(jì)理念也不同。 反射提供了一系列的靜態(tài)函數(shù),可以使用Reflect.function_name(...prams)調(diào)用,這一系列的方法和代理的處理器對(duì)象方法一致 0x001 apply 語(yǔ)法 Reflect.apply(targ...

    booster 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<