Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос знатокам, я бы сказал даже, что это вопрос ГУРУ (https://javascript.ru/forum/misc/10270-vopros-znatokam-ya-skazal-dazhe-chto-ehto-vopros-guru.html)

nikita.mmf 25.06.2010 16:35

Вопрос знатокам, я бы сказал даже, что это вопрос ГУРУ
 
Уважаемые знатоки, чему равна переменная
var test = ['0'] != false;


Это переменная равна false, что меня очень удивило ищу причину сего явления

subzey 25.06.2010 16:57

var test = ['0'] != false;
var test = (['0'] != false);
var test = (['0'].toString() != false);
var test = ("0" != false);
var test = (false != false);
var test = false;

nikita.mmf 25.06.2010 18:25

Просто не могу понять как работает приведение типов. В данном примере сначала в String, а потом строку в Boolean. Может кто-нибудь даст линк, где можно почитать про приведение типов в javascript.

e1f 25.06.2010 18:54

http://javascript.ru/ecma
Здесь подробно написано, почему так.

e1f 25.06.2010 19:01

Цитата:

Сообщение от subzey (Сообщение 61068)
var test = ['0'] != false;
var test = (['0'] != false);
var test = (['0'].toString() != false);
var test = ("0" != false);
var test = (false != false);
var test = false;

subzey, чуточку не так. На затравку:
Boolean('0') // true

subzey 25.06.2010 19:23

Точно. Спасибо.

var test = ("0" != false);
var test = (0 != 0)


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