Boolean vs Int в Javascript

Я всегда предполагал, что логические значения более эффективны, чем целые числа, при хранении значения включения / выключения - учитывая, что это причина их существования. Недавно я решил проверить, правда ли это с помощью jsperf, и дал несколько противоположных результатов!

http://jsperf.com/bool-vs-int

Вот первый тест, который я попробовал. Переключение значения переключателя включения / выключения. В Chrome это значительно быстрее сделать с использованием 1/0, но в Firefox немного быстрее сделать это с использованием bool. Интересно.

http://jsperf.com/bool-vs-int-2

А вот и второй тест, который я попробовал. Использование их в условном. Похоже, что это дает значительное преимущество для целых чисел по сравнению с булевыми значениями: до 70% быстрее использовать 1/0 вместо логических значений как в firefox, так и в Chrome. Wtf?

Думаю, мой вопрос: я что-то делаю не так? Почему целые числа лучше справляются с логической задачей? Единственная ценность использования bools ясности, или я упускаю что-то важное?

18
задан Thristhart 28 August 2011 в 15:48
поделиться