es6 ...運(yùn)算符

情景描述

  • 經(jīng)常會(huì)看到...props
  • 無(wú)狀態(tài)組件的參數(shù)中
  • 或者是在函數(shù)定義的參數(shù)中

  • 請(qǐng)不要把只要出現(xiàn)...的地方當(dāng)做同一個(gè)操作符
    • 剩余操作符
      • 通常用于函數(shù)定義時(shí)的最后一個(gè)參數(shù)
      • ...a:a是一個(gè)數(shù)組
      • 相當(dāng)于是整和
    • 擴(kuò)展語(yǔ)法
      • 類似于結(jié)構(gòu)賦值
      • 相當(dāng)于是將一個(gè)對(duì)象或者一個(gè)數(shù)組中的每一個(gè)元素全部都解構(gòu)出來(lái)單獨(dú)使用
      • 相當(dāng)于是解構(gòu)

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

  • 用于函數(shù)調(diào)用時(shí)的參數(shù)
    const func = (a,b,c) => {
        //*****
    }
    const array = [1,2,3]
    func(...array)
    
    • 當(dāng)做函數(shù)調(diào)用時(shí)候的參數(shù)就相當(dāng)于是擴(kuò)展
    • 將每個(gè)元素?cái)U(kuò)展開來(lái)當(dāng)做函數(shù)的一個(gè)參數(shù)
  • 用于react傳遞props屬性
    render() {
      const obj = {name:'zp' ,age: 20}
        return (
          <Children {...obj} />
        )
    }
    
    const Children = (props) => {
        console.log(props.name)
        console.log(props.age)
    }
    
    //這樣的好處:如果不使用擴(kuò)展運(yùn)算符render函數(shù)就需要這么寫
    render() {
      const obj = {name:'zp' ,age: 20}
        return (
          <Children 
          name = {obj.name}
          age={obj.age}
          />
        )
    }
    
    //這就相當(dāng)于把對(duì)象的名字作為屬性傳給子組件使用
    大大減少代碼數(shù)量
    
  • 用于數(shù)組的拼接和排序
    const a = [1,2,3]
    const b = [4,5,6]
    const c = [...b,...a]
    
  • 用于reducer掉分,產(chǎn)生新對(duì)象(新引用)
    • 對(duì)于reducer而言如果返回的對(duì)象或者數(shù)組沒有改變引用鞠绰,他就會(huì)認(rèn)為store中的數(shù)據(jù)沒有變化過(guò)所以不會(huì)觸發(fā)組件重新render(即使可能數(shù)組或?qū)ο笾械哪骋豁?xiàng)確實(shí)發(fā)生變化)
    • 使用擴(kuò)展運(yùn)算符即使元素沒變(內(nèi)容)也會(huì)產(chǎn)生一個(gè)全新的對(duì)象或者數(shù)組(新引用)一定保證了store可以更新觸發(fā)新的render(可以代替Object.assign存在)
    const initState = {
        name: 'pp',
        age: 20
    }
    const reducer = (action,state) => {
        switch (action.type) {
            case *** : 
              return {...state,{name:'aa'}}
        }
      }
    
    總結(jié):使用擴(kuò)展運(yùn)算符的對(duì)象或者數(shù)組,都是為了將其中的每一個(gè)元素可以獨(dú)立的使用

剩余操作符

  • 使用場(chǎng)景我見到的好像只有在函數(shù)定義的時(shí)候
    • 當(dāng)不確定會(huì)返回幾個(gè)參數(shù)的時(shí)候直接使用...params代替
    • params就會(huì)變成一個(gè)數(shù)組 收錄傳入的參數(shù)當(dāng)做數(shù)組中的一個(gè)元素
    總結(jié):剩余操作符和擴(kuò)展操作符是一個(gè)相反的過(guò)程脆侮,用來(lái)將數(shù)據(jù)整合在一個(gè)數(shù)組中
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市害捕,隨后出現(xiàn)的幾起案子是目,更是在濱河造成了極大的恐慌孵睬,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牌芋,死亡現(xiàn)場(chǎng)離奇詭異蚓炬,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)躺屁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門肯夏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人犀暑,你說(shuō)我怎么就攤上這事驯击。” “怎么了耐亏?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵徊都,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我广辰,道長(zhǎng)暇矫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任择吊,我火速辦了婚禮李根,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘几睛。我一直安慰自己房轿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著冀续,像睡著了一般琼讽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上洪唐,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天钻蹬,我揣著相機(jī)與錄音,去河邊找鬼凭需。 笑死问欠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的粒蜈。 我是一名探鬼主播顺献,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼枯怖!你這毒婦竟也來(lái)了注整?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤度硝,失蹤者是張志新(化名)和其女友劉穎肿轨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蕊程,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡椒袍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了藻茂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驹暑。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辨赐,靈堂內(nèi)的尸體忽然破棺而出优俘,到底是詐尸還是另有隱情,我是刑警寧澤掀序,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布兼吓,位于F島的核電站,受9級(jí)特大地震影響森枪,放射性物質(zhì)發(fā)生泄漏视搏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一县袱、第九天 我趴在偏房一處隱蔽的房頂上張望浑娜。 院中可真熱鬧,春花似錦式散、人聲如沸筋遭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)漓滔。三九已至编饺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間响驴,已是汗流浹背透且。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豁鲤,地道東北人秽誊。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像琳骡,于是被迫代替她去往敵國(guó)和親锅论。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • ...運(yùn)算符可用于淺拷貝 深拷貝 用Object.assign(obj)實(shí)現(xiàn)深拷貝 淺拷貝 當(dāng)然楣号,我們也可以在淺拷...
    余生筑閱讀 4,088評(píng)論 2 1
  • 第5章 引用類型(返回首頁(yè)) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,238評(píng)論 0 4
  • 三最易,字符串?dāng)U展 3.1 Unicode表示法 ES6 做出了改進(jìn),只要將碼點(diǎn)放入大括號(hào)炫狱,就能正確解讀該字符藻懒。有了這...
    eastbaby閱讀 1,539評(píng)論 0 8
  • 1.函數(shù)參數(shù)的默認(rèn)值 (1).基本用法 在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值毕荐,只能采用變通的方法束析。
    趙然228閱讀 693評(píng)論 0 0
  • 一開始接觸張愛玲的小說(shuō)艳馒,便是她的中篇小說(shuō)金鎖記憎亚。小說(shuō)里的主人公曹七巧是個(gè)不幸的人,出身低微弄慰,家里是開麻油店的第美,...
    鐵家軍王慶露閱讀 1,267評(píng)論 0 6