| 
 Вопрос по преобразованиям типов!? Всем привет!Читая книгу "Выразительный JavaScript" столкнулся с таким утверждение автора:"Правила преобразования типов в булевские значения говорят, что 0, NaN и "" считаются false, а все остальные true. Поэтому 0 == false и "" == false." 
alert(0 == false); // true
alert("" == false); // true
Видимо он что-то путает, т.к. при сравнении значений разных типов происходит численное преобразование.Если кто читал и понял, отпишитесь пожалуйста. | 
| 
 https://javascript.ru/forum/misc/737...tml#post484870 Согласно пункту 7.2.13 спецификации ECMAScript вычисление происходит так: (пустая строка ToNumber("") согласно 7.1.3 преобразуется в 0) 0 == false // подходит 7-ой пункт -> x == ToNumber(y) -> получаем 0 == 0 0 == 0 // теперь первый пункт -> x === y -> получаем 0 === 0 0 === 0 // по алгоритму строгого сравнения получаем true true "" == false // подходит 7-ой пункт -> x == ToNumber(y) -> получаем "" == 0 "" == 0 // теперь подходит 5-ый -> ToNumber(x) == y -> получаем 0 == 0 0 == 0 // теперь первый пункт -> x === y -> получаем 0 === 0 0 === 0 // по алгоритму строгого сравнения получаем true true Цитата: 
 | 
| 
 Цитата: 
 используйте === | 
| 
 Вы всё правильно написали!Я точно так же преобразовывал!Просто я не вижу связи между преобразованием в булевское значение и примерами, где происходит числовое преобразование!? | 
| 
 vanished | 
| Часовой пояс GMT +3, время: 05:46. |