Wpis z mikrobloga

@japer: javascript "tak jakby" obsługuje inty - jak zrobisz funkcję w stylu

function f(x, y) {

x = x | 0; // "| 0" zeby javascript wiedziała, że ten parametr jest intem

y = y | 0; // j.w.

return (x + y) | 0;

}

To kod zachowuje się, jakby x, y i wynik funkcji były intami, a w nowoczesnych kompilatorach JIT javascriptu nawet zostanie skompilowany do postaci używającej zmiennych
@Marmite: źle wytłumaczyłem - w standardzie javascriptu nie ma mowy o tym, że to int, ale operacja | zwraca wartość, która musi być całkowita, więc od tego momentu w kodzie wiadomo, że to zmienna całkowita (póki ktoś nie zepsuje robiąc np += 0.1) . I z tego skorzystali twórcy silników javascriptu i zoptymalizowali tak, że używają intów, jeśli od początku funkcji wiadomo, że zmienna jest całkowita, i nie robimy z nią
Hmmm, nie wiem o co całe zamieszanie.

1. Jeśli chcesz sprawdzić czy undefined użyj if (typeof x === "undefined") {} - listy typów nie nadpiszesz

2. Jeśli chcesz ustawić by było undefined to delete x; i po sprawie