Przejdź do głównej treści
  1. Strona główna
  2. Technik fotografii i multimediów
  3. AUD.05
  4. Pytanie

Kwalifikacja: AUD.05 - Realizacja projektów graficznych i multimedialnych

Zawód: Technik fotografii i multimediów

Kategorie: Strony internetowe

Słowa kluczowe: Operatory arytmetyczne w JavaScript

Który operator jest w języku JavaScript operatorem dzielenia modulo (reszta z dzielenia)?

Operator % w JavaScript oznacza operator reszty z dzielenia, potocznie często nazywany modulo. Działa tak, że dzieli lewą wartość przez prawą i zwraca to, co zostaje po wykonaniu dzielenia całkowitego. Na przykład 10 % 3 daje 1, bo 3 mieści się w 10 trzy razy, a reszta wynosi 1. Podobnie 8 % 2 daje 0, więc taki zapis często wykorzystuje się do sprawdzania, czy liczba jest parzysta: jeżeli liczba % 2 jest równe 0, to liczba jest parzysta. W praktyce webowej przydaje się to np. w JavaScript do cyklicznego przechodzenia po elementach tablicy, obsługi slajdera, paginacji, animacji, liczników albo nadawania klas co kilka elementów. Moim zdaniem to jeden z tych operatorów, który wygląda niepozornie, ale naprawdę często pojawia się w normalnym kodzie. Warto też pamiętać o szczególe standardu ECMAScript: w JavaScript % technicznie jest operatorem reszty, a przy liczbach ujemnych wynik może mieć znak liczby dzielonej, więc przy bardziej matematycznym modulo trzeba czasem zastosować dodatkowe przeliczenie. Dobra praktyka to pisać warunki czytelnie, np. z nawiasami tam, gdzie może być wątpliwa kolejność działań, oraz testować przypadki brzegowe.
W tym pytaniu łatwo pomylić operator reszty z klasycznymi operatorami arytmetycznymi, bo wszystkie wyglądają bardzo krótko i są używane między dwiema wartościami. Znak / w JavaScript służy do zwykłego dzielenia i zwraca iloraz, a nie resztę. Przykładowo 10 / 3 da wynik około 3.3333333333333335, czyli wartość zmiennoprzecinkową, zgodną z typowym sposobem reprezentacji liczb w JavaScript jako Number. To nie odpowiada pytaniu o resztę z dzielenia, bo interesuje nas nie wynik dzielenia, tylko to, co zostaje po odjęciu pełnych wielokrotności dzielnika. Znak + jest jeszcze innym przypadkiem, bo wykonuje dodawanie liczb, ale w JavaScript ma też drugie, bardzo ważne zastosowanie: może łączyć teksty, czyli wykonywać konkatenację stringów. Przez to bywa źródłem pomyłek, gdy ktoś miesza liczby i napisy, na przykład 2 + 3 oraz 2 + 3 jako tekst mogą prowadzić do zupełnie innego efektu zależnie od typów danych. Z kolei * oznacza mnożenie, więc 4 * 5 daje 20, ale nie mówi nic o podzielności ani o reszcie. Typowy błąd myślowy polega na tym, że ktoś kojarzy dzielenie modulo z samym dzieleniem i wybiera /, bo temat brzmi podobnie. W kodzie JavaScript trzeba jednak rozróżniać operację dzielenia od operacji pobierania reszty. Jeśli chcemy sprawdzić np. co trzeci element listy, parzystość liczby albo zapętlić indeks w tablicy, używamy właśnie %, a nie /, + ani *. Z mojego doświadczenia najlepiej zapamiętać to przez prosty test: jeśli pytanie brzmi ile zostaje?, to patrzymy na %.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.