日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在 JavaScript 的 ES6 版本中,擴(kuò)展語(yǔ)法作為一項(xiàng)非常強(qiáng)大的功能被引入。我們可以使用擴(kuò)展語(yǔ)法將數(shù)組或?qū)ο髷U(kuò)展為相同數(shù)據(jù)類型的變量。

例如,在 ES6 中引入展開語(yǔ)法之前,開發(fā)人員使用 for 循環(huán)將一個(gè)數(shù)組的所有元素復(fù)制到另一個(gè)數(shù)組。您是否可以通過使用擴(kuò)展語(yǔ)法編寫一個(gè)線性代碼而不是使用 for 循環(huán)編寫 5 到 7 行代碼來將一個(gè)數(shù)組的所有元素復(fù)制到另一個(gè)數(shù)組?是的,你沒聽錯(cuò)!

在這里,我們將在本教程中學(xué)習(xí)擴(kuò)展語(yǔ)法的不同用例。此外,我們將在教程末尾了解它與其余語(yǔ)法的不同之處。

傳播語(yǔ)法

JavaScript 中的擴(kuò)展語(yǔ)法是一種允許將可迭代對(duì)象(例如數(shù)組或?qū)ο螅U(kuò)展為單個(gè)變量或元素的語(yǔ)法。

用戶可以按照下面的語(yǔ)法使用擴(kuò)展語(yǔ)法來擴(kuò)展可迭代對(duì)象。

let array = [10, 40, 7, 345];
let array2 = [...array];

登錄后復(fù)制

在上面的語(yǔ)法中,我們將可迭代的“array”的所有元素復(fù)制到 array2 變量。

擴(kuò)展語(yǔ)法的好處

使用擴(kuò)展語(yǔ)法有一些好處或功能 –

    復(fù)制數(shù)組或?qū)ο螅?/p>

    合并數(shù)組或?qū)ο螅约?/p>

    將多個(gè)元素作為函數(shù)參數(shù)傳遞。

    讓我們看一下擴(kuò)展語(yǔ)法上述每個(gè)功能的不同示例。

    示例

    使用展開語(yǔ)法復(fù)制數(shù)組

    在此示例中,我們使用了擴(kuò)展 synatx 將一個(gè)數(shù)組的元素復(fù)制到另一個(gè)數(shù)組。您可以看到單線性代碼將所有數(shù)組元素復(fù)制到 array2 中。

    <html>
       <body>
          <h2>Using the spread syntax to copy one array to another</h2>
          <div id="output"></div>
          <script>
             let output = document.getElementById("output");
             let array1 = [10, 40, 7, 345];
             output.innerHTML += "Original array: " + array1 + "</br>";
             
             // copy array using spread syntax
             let array2 = [...array1];
             output.innerHTML += "Copied array: " + array2 + "</br>";
          </script>
       </body>
    </html>
    

    登錄后復(fù)制

    示例

    使用展開語(yǔ)法合并數(shù)組或?qū)ο?/i>

    我們使用 array1 內(nèi)部的擴(kuò)展語(yǔ)法合并 array1 和 array2,而不使用 JavaScript 的 concat() 方法。此外,在合并兩個(gè)數(shù)組時(shí),我們更改了數(shù)組元素的順序。

    <html>
    <body>
       <h2>Using the spread syntax to <i> copy one array to another</i></h2>
       <div id="output"></div>
       <script>
          let output = document.getElementById("output");
          let array = [10, 40, 7, 345];
          output.innerHTML += "Array 1: " + array + "</br>";
          let array2 = ["Hi, Hello"];
          output.innerHTML += "Array 2: " + array2 + "</br>";
          array = [...array2, ...array];
          output.innerHTML += "After merging the array2 and array1: " + array + "<br/>";
       </script>
    </body>
    </html>
    

    登錄后復(fù)制

    示例

    使用擴(kuò)展語(yǔ)法將多個(gè)元素作為函數(shù)參數(shù)傳遞

    在此示例中,我們創(chuàng)建了 add() 函數(shù),該函數(shù)采用三個(gè)值作為參數(shù)并返回所有三個(gè)參數(shù)的總和。我們創(chuàng)建了包含三個(gè)值的數(shù)組。我們已使用擴(kuò)展語(yǔ)法將所有數(shù)組元素作為參數(shù)傳遞給 add() 函數(shù)。

    <html>
       <body>
          <h2>Using the spread syntax</h2>
          <p> Passing multiple array elements as a function argument </p>
          <div id="output"></div>
          <script>
             let output = document.getElementById("output");
          
             // function to get a sum of 3 values
             function add(param1, param2, param3) {
                return param1 + param2 + param3;
             }
             let values = [50, 54, 72];
          
             // passed array values using the spread syntax
             let result = add(...values);
             output.innerHTML += "The sum of 3 array values: " + result + "</br>";
          </script>
       </body>
    </html>
    

    登錄后復(fù)制

    示例

    使用擴(kuò)展 synatx 復(fù)制對(duì)象

    在下面的示例中,我們創(chuàng)建了sample_obj對(duì)象,其中包含不同的鍵值對(duì)。使用擴(kuò)展語(yǔ)法,我們已將sample_obj的所有鍵值對(duì)復(fù)制到copy_object。

    由于對(duì)象是可迭代的,我們可以使用擴(kuò)展語(yǔ)法來擴(kuò)展對(duì)象。

    <html>
       <body>
          <h2>Using the spread syntax to <i>create a copy of the object.</i></h2>
          <div id="output"></div>
          <script>
             let output = document.getElementById("output");
             let sample_obj = {
                name: "Shubham",
                age: 22,
                hobby: "writing",
             };
             let copy_object = {
                ...sample_obj,
             };
             output.innerHTML += "The values of the copy_object are " + copy_object.name + " , " +copy_object.age + " , " + copy_object.hobby +  "</br>";
          </script>
       </body>
    </html>
    

    登錄后復(fù)制

    剩余語(yǔ)法

    在 JavaScript 中,剩余語(yǔ)法的語(yǔ)法與擴(kuò)展語(yǔ)法相同。我們可以使用剩余語(yǔ)法來收集單個(gè)數(shù)組或可迭代中的元素,這與使用展開語(yǔ)法擴(kuò)展不同。

    通常,當(dāng)函數(shù)參數(shù)總數(shù)未定義或傳遞可選參數(shù)時(shí),開發(fā)人員會(huì)對(duì)函數(shù)參數(shù)使用展開語(yǔ)法。

    語(yǔ)法

    用戶可以按照以下語(yǔ)法來使用其余語(yǔ)法。

    function func(...params){
       
       //params are the array of all arguments passed while calling the function
       
       //users can access the params like params[0], params[1], params[2], ...
    }
    

    登錄后復(fù)制

    在上面的語(yǔ)法中,我們收集了 params 數(shù)組中的所有函數(shù)參數(shù)。

    示例

    在此示例中,我們創(chuàng)建了字符串?dāng)?shù)組,并使用擴(kuò)展語(yǔ)法將所有數(shù)組元素作為 mergeString() 函數(shù)的參數(shù)傳遞。

    使用其余語(yǔ)法,我們?cè)?params 數(shù)組中收集了 mergeString() 函數(shù)的所有參數(shù)。我們迭代 params 數(shù)組并將 params 數(shù)組的每個(gè)元素連接到 FinalString 變量中。

    <html>
       <body>
          <h2>Using the rest syntax to collect function parameters</h2>
          <div id="output"></div>
          <script>
             let output = document.getElementById("output");
             
             // used the rest syntax to collect params
             function mergeString(...params) {
                let finalString = "";
                
                // Iterating through the array of params
                for (let param of params) {
                   finalString += param;
                   output.innerHTML += "Parameter: " + param + "<br>";
                }
                output.innerHTML += "The string after merging: " + finalString;
             }
             let strings = ["Welcome", "to", "the", "TutorialsPoint!"];
             
             // used the spread syntax to pass all elements of // the strings array as an argument.
             mergeString(...strings);
          </script>
       </body>
    </html>
    

    登錄后復(fù)制

    通過上面的例子,用戶可以清楚地理解rest語(yǔ)法和spread語(yǔ)法之間的區(qū)別。

    ES6 中 Spread 和 Rest 語(yǔ)法之間的差異:

    擴(kuò)展語(yǔ)法與其余語(yǔ)法不同,其余語(yǔ)法用于將多個(gè)元素或?qū)傩允占揭粋€(gè)數(shù)組中。擴(kuò)展語(yǔ)法允許元素的擴(kuò)展,而其余語(yǔ)法則允許元素的集合。

    使用擴(kuò)展語(yǔ)法的示例包括將一個(gè)數(shù)組復(fù)制到另一個(gè)數(shù)組、合并兩個(gè)數(shù)組、將多個(gè)數(shù)組元素作為函數(shù)參數(shù)傳遞以及將一個(gè)對(duì)象的屬性復(fù)制到另一個(gè)對(duì)象。

    使用剩余語(yǔ)法的示例包括收集元素、函數(shù)參數(shù)等。

    下表重點(diǎn)介紹了 ES6 中展開語(yǔ)法與剩余語(yǔ)法的不同之處 –

    擴(kuò)展語(yǔ)法

    剩余語(yǔ)法

    我們可以使用展開語(yǔ)法來擴(kuò)展可迭代對(duì)象。

    我們可以使用剩余語(yǔ)法來收集元素并使所有收集的元素可迭代。

    我們可以使用它以數(shù)組或?qū)ο蟾袷綌U(kuò)展數(shù)據(jù)。

    我們可以收集所需格式的所有元素。

    我們可以使用它在函數(shù)內(nèi)部傳遞參數(shù)。

    我們可以用它來收集函數(shù)參數(shù)或定義可選參數(shù)。

    結(jié)論

    JavaScript 中的擴(kuò)展語(yǔ)法是一種允許將可迭代對(duì)象(例如數(shù)組或?qū)ο螅U(kuò)展為單個(gè)變量或元素的語(yǔ)法。

    展開語(yǔ)法與其余語(yǔ)法不同。擴(kuò)展語(yǔ)法對(duì)于執(zhí)行復(fù)制數(shù)組、合并數(shù)組或?qū)ο笠约皩⒍鄠€(gè)元素作為函數(shù)參數(shù)傳遞等任務(wù)非常有用。

    其余語(yǔ)法對(duì)于執(zhí)行諸如將多個(gè)元素或?qū)傩允占綌?shù)組中之類的任務(wù)很有用。

    以上就是解釋一下擴(kuò)展語(yǔ)法的好處以及它與 ES6 中的剩余語(yǔ)法有何不同?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:剩余 它與 擴(kuò)展 有何不同 語(yǔ)法
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定