Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is using instanceof operator in javascript a performance issue? [closed]

I have heard that instanceof operator in java is a performance issue,

Is it true for Javascript too (IE6,IE7,IE8,FF,Chrome,safari,etc.)? any links to authentic papers would be helpful.

like image 417
Salvin Francis Avatar asked Dec 30 '09 06:12

Salvin Francis


1 Answers

In short: it seems to be browser dependent.

More detailed: I have found this JSPerf test: http://jsperf.com/instanceof-performance/2 comparing a JavaScript instanceof check versus a boolean check for an existing/missing property in an object.

The overall result (beware of the small number of samples) is that in Chrome both methods are alike with benefits for instanceof. In FF, however, the property check is faster than the instanceof operator. Update Apr 2017: As @ngryman pointed out: In both, recent FF and Chrome versions, doing property checks seems significantly faster than instenaceof.

Would be interesting to extend that test with a case like checking if a string comparison like obj.type == 'MyClass' has a strong influence on the subject.

like image 147
Christopher Lörken Avatar answered Sep 19 '22 09:09

Christopher Lörken