e=!!e; //Зачем?
Сабж.
|
|
почти то же самое что и
e = Boolean(e) |
На самом деле не за чем. В любом случае когда e будет использоваться как boolean оно и станет автоматически boolean по тем же самым правилам.
Чисто паранойи ради, разве что. |
Aetae,
alert('0' == !!'0'); вот вам и исключение |
console.log(true == !!'0'); console.log(true == '0'); расписал чтобы понятней было ;) |
Только так делают опять же только параноики.)
|
эх... параноики :blink:
|
Цитата:
Цитата:
<script> function sum1 (a,b,c){ return a+b+c; }; function sum2 (a,b,c){ return Number(a) + Number(b) + Number(c); }; alert ( sum1 (1,"1",1) ); alert ( sum2 (1,"1",1) ); </script> На этом форуме не редко встречаются темы где не могут понять ошибку в следствии не явного приведения типов в JS. Несколько примеров из разряда отгадай какой вывод будет у выражения. true + false 12 / "6" "number" + 15 + 3 15 + 3 + "number" [1] > null "foo" + + "bar" 'true' == true false == 'false' null == '' !!"false" == !!"true" [‘x’] == ‘x’ [] + null + 1 0 || "0" && {} [1,2,3] == [1,2,3] {}+[]+{}+[1] !+[]+[]+![] new Date(0) - 0 new Date(0) + 0 (Нагуглено на странице ) |
Часовой пояс GMT +3, время: 19:31. |