javascript - 請問下面代碼中的...是擴展運算符還是操作運算符?這樣寫是什么意思?
問題描述
vuex中的代碼
computed:{ ...mapState(['count']), count(){return this.$store.getters.count; }},
請問mapState前面的...是什么意思?加這個和不加這個有什么區(qū)別?已經(jīng)看過擴展運算符和操作運算符的相關(guān)文檔,不過還是不太明白,求詳細點的解釋。。
問題解答
回答1:自己寫幾個例子不就知道了…………比如:
const state = { a: 1, b: 2, c: 3};const now = { ...state, d: 4, e: 5};console.log(now);
這個語法大部分瀏覽器還不支持,所以你可以先去babel轉(zhuǎn)一下,把轉(zhuǎn)碼后的代碼直接放到控制臺運行,看看出來的是啥。這個運算符其實挺簡單的……
回答2:... 把對象在此地展開為鍵值對。如果直接寫,有語法錯誤或者邏輯錯誤。
借用 @xiaoboost 的例子:
有 ... 運算符,點擊查看
const state = { a: 1, b: 2, c: 3};const now = { ...state, d: 4, e: 5};console.log(now);
結(jié)果是
Object { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
沒有 ... 運算符,點擊查看
結(jié)果是:
Object { 'd': 4, 'e': 5, 'state': Object { 'a': 1, 'b': 2, 'c': 3 }}回答3:
...mapState(['count'])加...是為了將mapState對象分割,返回分離的各項,就可與局部計算屬性(computed)混合使用了不加... mapState可是一個對象 computed也是一個對象 那就得一個一個的屬性賦值吧或者你computed對象里不打算有其他屬性,你直接computed:mapState(['count'])應(yīng)該也可以
相關(guān)文章:
1. HTML5不支持frameset一般怎么解決?2. javascript - Vue的計算屬性底層依賴原理是怎么樣?3. javascript - jquery怎么給select option一個點擊時觸發(fā)的事件,如圖 如果選擇自定義觸發(fā)一個時間?4. 網(wǎng)頁爬蟲 - python爬蟲用BeautifulSoup爬取<s>元素并寫入字典,但某些div下沒有這一元素,導致自動寫入下一條,如何解決?5. 百度地圖api - Android百度地圖SDK,MapView上層按鈕可見卻不可觸,怎么解決?6. mysql 獲取時間函數(shù)unix_timestamp 問題?7. html5 - canvas中的mousedrag事件,為什么鼠標拖出canvas,然后再次移入canvas,drag事件還觸發(fā)8. 新入手layuiadmin,部署到tp中。想用php自已寫一個后臺管理系統(tǒng)。9. javascript - react 組件 使用super()報錯10. javascript - es6擴展運算符...的問題
