在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ es6 計算屬性

es6 計算屬性

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

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

回答
編輯回答
櫻花霓

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

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

當(dāng)你需要用常量來定義這個的屬性的時候,這種寫法會比較方便

constants.js
    export const TEST = 'TEST'

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

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

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

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

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

請問這樣格式的數(shù)組怎么轉(zhuǎn)為對象?

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

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

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

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

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