In Javascript, when your getting a property of an object, is there a performance penalty to getting the whole object vs only getting a property of that object?
Also Keep in mind I'm not talking about DOM access these are pure simple Javascript objects.
For example:
Is there some kind of performance difference between the following code:
Assumed to be faster but not sure:
var length = some.object[key].length;
if(length === condition){
// Do something that doesnt need anything inside of some.object[key]
}
else{
var object = some.object[key];
// Do something that requires stuff inside of some.object[key]
}
I think this would be slower but not sure if it matters.
var object = some.object[key];
if(object.length === condition){
// Do something that doesnt need anything inside of some.object[key]
}
else{
// Do something that requires stuff inside of some.object[key]
}
Yes, there is a performance penalty.
The more deep is a property nested, more time will be required to perform the property lookup.
Check this free chapter of the book High Performance JavaScript, in the page 31, it talks specifically about Nested Members.
(Access time related to property depth)
See also this performance test:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With