深入淺出ES6教程『擴展運算符』

?? 個人主頁歡迎訪問 ??


大家好,本人名叫蘇日儷格,大家叫我 (格格) 就好,在上一章節(jié)中我們學(xué)到了箭頭函數(shù)的用法,下面我們一起來繼續(xù)學(xué)習(xí)擴展運算符:

... 代表著擴展運算符或Rest(剩余)運算符
廢話不多說,直接帶大家看幾個例子:

// 當(dāng)傳入的參數(shù)不確定或者多個的時候,就可以當(dāng)做arguments來使用
function show(...a){
    console.log(a); // [14, 12, 54, 33, 22]
}
show(14,12,54,33,22);

此外擴展運算符還可以解決數(shù)組的引用的問題:

let a = [14,12,54,33,22];
let b = a;  // 相當(dāng)于copy
a.push(44);
console.log(a); // [14, 12, 54, 33, 22, 44]
console.log(b); // [14, 12, 54, 33, 22, 44]

上面這個例子說明了b是a的一個引用,也就是說二者所在的內(nèi)存是同一個,要想改變a不影響b的話,就要開辟一個新內(nèi)存,解決方式:

let a = [14,12,54,33,22];
let b = [...a];
a.push(44);
console.log(a); // [14, 12, 54, 33, 22, 44]
console.log(b); // [14, 12, 54, 33, 22]

擴展運算符還可以用來數(shù)組的排序,此排序并不是什么大小排序,而是按照每一位的首位數(shù)字進行排序的,第一位相同就看第二位,依次排列,和字典式排序相似,看下面的例子:

function orderBy(...a){
    return a.sort();
}
console.log(orderBy(51,12,7,34,3)); // [12, 3, 34, 51, 7]
let arr = ['aaa','bbb','ccc'];
let arr2 = "aabbcc";
console.log(arr);   // ["aaa", "bbb", "ccc"]
console.log(...arr);    // aaa bbb ccc
console.log(arr2);  // aabbcc
console.log(...arr2);   // a a b b c c

綜上所述,...可以完成字符串和數(shù)組之間的轉(zhuǎn)換

小白:那個Rest運算符又是什么呢?

請看下面的這個例子:

function show(a,...b){
    console.log(a); // 51
    console.log(b); // [12, 7, 34, 3]
}
show(51,12,7,34,3);

看完了這個例子懂了吧,就是說前面的參數(shù)一一對應(yīng),后面的那個...b就代表剩下的參數(shù),因為是剩余參數(shù)所以這個剩余運算符要放在最后的位置,因此有的人又稱為剩余運算符

關(guān)于擴展運算符我們都已經(jīng)了然于心,預(yù)知數(shù)組的循環(huán)如何,請聽下回分解 (^?^)/~~~

本文的所有內(nèi)容均是一字一句敲上去的,希望大家閱讀完本文可以有所收獲,因為能力有限,掌握的知識也是不夠全面,歡迎大家提出來一起分享!謝謝O(∩_∩)O~

歡迎來我的GitHub,喜歡的可以star,項目隨意fork,支持轉(zhuǎn)載但要下標(biāo)注,同時恭候:我的博客 Resume

等一下( ?? .? ?? ),我還有最后一句話:
這里雖然沒有都市的繁華,
也沒有山林的鳥語花香,
只有一片如水的寧靜,
古人云:
既來之則安之,
既然來到了這里,
就可以靜心休憩你的靈魂,
調(diào)養(yǎng)你疲憊的心,
再見...
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,707評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • ZYDraggableView An UIView category which make view dragga...
    ___1o_8o閱讀 252評論 0 1
  • 最近《人民的名義》火起,易學(xué)習(xí)、沙瑞金、侯亮平(輕讀三人名尾字有彩蛋)等人一時成為人們稱頌的形象,作為主旋律作品,...
    書影百味茶館閱讀 766評論 0 1
  • 清晨的天空就那么幾顆星,月亮是新畫的模樣,人在行走,人在佇立,人在等待。
    久銅閱讀 186評論 0 0

友情鏈接更多精彩內(nèi)容