@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
function f(x, y) {
x = x | 0; // "| 0" zeby javascript wiedziała, że ten parametr jest
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
liczba | 0zaokrągli liczbę, ale nie miałem pojęcia, że to dlatego, że będzie ona traktowana jako int. Dzięki za uświadomienie :>