Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему литерал false в массиве не преобразуется в строку? (https://javascript.ru/forum/misc/29919-pochemu-literal-false-v-massive-ne-preobrazuetsya-v-stroku.html)

dump 17.07.2012 07:46

Почему литерал false в массиве не преобразуется в строку?
 
Вот код:

a=[v=3,2,d='bn'];
alert(a[false]);

Почему он выводит undefined, а не 3? Ведь если преобразовать false в число, получится 0...

devote 17.07.2012 07:50

alert( Object.prototype.toString.call( false ) ); // [object Boolean]
alert( false.toString() ); // false
не пойму где вы тут увидели ноль
что бы в число преобразовать надо делать так:
alert( +false ); // 0


Часовой пояс GMT +3, время: 00:20.