鍍金池/ 問(wèn)答/HTML/ es6 計(jì)算屬性

es6 計(jì)算屬性

var obj = {
    [name]()=>{
        
    }
}

es6的計(jì)算屬性是為了解決什么問(wèn)題而設(shè)計(jì)的這個(gè)新特性的?

回答
編輯回答
櫻花霓

不然你怎么給屬性設(shè)置變量?

2017年2月25日 01:45
編輯回答
款爺

當(dāng)你需要用常量來(lái)定義這個(gè)的屬性的時(shí)候,這種寫(xiě)法會(huì)比較方便

constants.js
    export const TEST = 'TEST'

index.js
    import { TEST } from 'contants.js'
     var obj = {
        [TEST]:'王麻子'
    }
2018年1月18日 09:46
編輯回答
玄鳥(niǎo)

很靈活,比如可以代理,很多mvvm框架,比如Vue 的源碼就用到了

Object.keys(app.data).forEach(prop=>{
    //這里
    app.data[prop] = Object.defineProperty(app.data, prop, {       
    })
})
2017年12月17日 15:17
編輯回答
眼雜

我知道 可以聲明 一個(gè)變量 然后給對(duì)象當(dāng)做屬性使用

var name= 'nickName'
var obj = {
    [name]:'王麻子'
}
2017年4月13日 14:47
編輯回答
撿肥皂

請(qǐng)問(wèn)這樣格式的數(shù)組怎么轉(zhuǎn)為對(duì)象?

["38:21","33:12","11:22"]

想把它轉(zhuǎn)為下面這種結(jié)構(gòu)的對(duì)象

{ 
    38:21,
    33:12, 
    11:22 
}

答案,用到了計(jì)算屬性,默認(rèn)情況下變量沒(méi)法直接作為對(duì)象的屬性名。
給它加個(gè)[]符號(hào)就能被解析為變量對(duì)應(yīng)的值,下面的解決方案中,kv[0]是個(gè)變量,在構(gòu)建對(duì)象時(shí),外層加了中括號(hào)(即計(jì)算屬性)被正確解析為了這個(gè)變量對(duì)應(yīng)的值。

["38:21","33:12","11:22"].map(o=>{
   let kv = o.split(":");
   return {[kv[0]]:kv[1]}
})
2017年10月6日 16:10