javascript - 請(qǐng)問下面代碼中的...是擴(kuò)展運(yùn)算符還是操作運(yùn)算符?這樣寫是什么意思?
問題描述
vuex中的代碼
computed:{ ...mapState(['count']), count(){return this.$store.getters.count; }},
請(qǐng)問mapState前面的...是什么意思?加這個(gè)和不加這個(gè)有什么區(qū)別?已經(jīng)看過擴(kuò)展運(yùn)算符和操作運(yùn)算符的相關(guān)文檔,不過還是不太明白,求詳細(xì)點(diǎn)的解釋。。
問題解答
回答1:自己寫幾個(gè)例子不就知道了…………比如:
const state = { a: 1, b: 2, c: 3};const now = { ...state, d: 4, e: 5};console.log(now);
這個(gè)語法大部分瀏覽器還不支持,所以你可以先去babel轉(zhuǎn)一下,把轉(zhuǎn)碼后的代碼直接放到控制臺(tái)運(yùn)行,看看出來的是啥。這個(gè)運(yùn)算符其實(shí)挺簡(jiǎn)單的……
回答2:... 把對(duì)象在此地展開為鍵值對(duì)。如果直接寫,有語法錯(cuò)誤或者邏輯錯(cuò)誤。
借用 @xiaoboost 的例子:
有 ... 運(yùn)算符,點(diǎn)擊查看
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}
沒有 ... 運(yùn)算符,點(diǎn)擊查看
結(jié)果是:
Object { 'd': 4, 'e': 5, 'state': Object { 'a': 1, 'b': 2, 'c': 3 }}回答3:
...mapState(['count'])加...是為了將mapState對(duì)象分割,返回分離的各項(xiàng),就可與局部計(jì)算屬性(computed)混合使用了不加... mapState可是一個(gè)對(duì)象 computed也是一個(gè)對(duì)象 那就得一個(gè)一個(gè)的屬性賦值吧或者你computed對(duì)象里不打算有其他屬性,你直接computed:mapState(['count'])應(yīng)該也可以
相關(guān)文章:
1. docker綁定了nginx端口 外部訪問不到2. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?3. docker容器呢SSH為什么連不通呢?4. docker - 各位電腦上有多少個(gè)容器啊?容器一多,自己都搞混了,咋辦呢?5. docker不顯示端口映射呢?6. angular.js - angular內(nèi)容過長(zhǎng)展開收起效果7. nignx - docker內(nèi)nginx 80端口被占用8. java - 為什么此私有靜態(tài)變量能被訪問呢?9. fragment - android webView 返回后怎么禁止重新渲染?10. php - mysql 模糊搜索問題
