-
Notifications
You must be signed in to change notification settings - Fork 2
The performance problem of defineProperty to array index
guankaishe edited this page Feb 2, 2015
·
2 revisions
I meet with a performance problem when using defineProperty to Array's index.
defineProperty to Array's index can help muxjs to observe array item value change when set the value using:
array[index] = value
But defineProperty that property name is a number or number string, it is much slower than defineProperty that property isn't a number. Test case as below:
defineProperty of Number property name
var obj = {}
console.time('def number')
Object.defineProperty(obj, 0, {
get: function () {},
set: function () {}
})
console.timeEnd('def number')
defineProperty of word property name
var obj = {}
console.time('def word')
Object.defineProperty(obj, 'a', {
get: function () {},
set: function () {}
})
console.timeEnd('def word')