Skip to content

Compare defineproperties to looped defineproperty

guankaishe edited this page Jan 25, 2015 · 1 revision

http://jsperf.com/defineproperties-vs-looped-defineproperty

looped-defineProperty:

for (prop in options) {
    Object.defineProperty(model, prop, {
        get: function () {
            return options[prop]
        },
        set: function (v) {
            options[props] = v
        }
    })
}

defineproperties:

var defOpts = {}
for (prop in options) {
    defOpts[prop] = {
        get: function () {
            return options[prop]
        },
        set: function (v) {
            options[props] = v
        }
    }
}
Object.defineProperty(model, defOpts)

Currently (version: 2.0.4), Muxjs use defineProperties for observing multiple property at once.

But looped-defineProperty is faster than defineproperties after compare, so use looped-defineProperty instead of defineproperties

Clone this wiki locally