W języku JavaScript, aby sprawdzić, czy liczba należy do przedziału (0, 10>, należy zastosować zapis
A.
if (liczba < 0 && liczba <= 10)
B.
if (liczba > 0 || liczba <= 10)
C.
if (liczba < 0 || liczba >= 10)
D.
if (liczba > 0 && liczba <= 10)
Zapis if (liczba > 0 && liczba <= 10) poprawnie sprawdza, czy zmienna liczba należy do przedziału (0, 10>. Taki przedział oznacza, że lewy koniec jest otwarty, więc 0 nie jest dopuszczalne, a prawy koniec jest domknięty, czyli 10 już się kwalifikuje. Dlatego używamy operatora > przy zerze oraz <= przy dziesięciu. Kluczowe jest też zastosowanie operatora logicznego &&, czyli koniunkcji. Oba warunki muszą być spełnione jednocześnie: liczba ma być większa od 0 i zarazem nie większa niż 10. W praktyce taki zapis pojawia się np. przy walidacji formularza, sprawdzaniu oceny, liczby produktów w koszyku albo zakresu punktów w grze. Moim zdaniem to jeden z najważniejszych schematów warunków w JavaScript, bo bardzo często trzeba sprawdzać zakresy. Dobrą praktyką jest pisanie takich warunków czytelnie, z odstępami wokół operatorów, np. liczba > 0 && liczba <= 10. W większym projekcie można też wydzielić granice do zmiennych, np. min = 0 i max = 10, żeby łatwiej zmieniać logikę bez grzebania w wielu miejscach kodu.
W tym zadaniu łatwo pomylić dwa różne sposoby myślenia: sprawdzanie, czy wartość jest wewnątrz przedziału, oraz sprawdzanie, czy spełnia przynajmniej jeden z warunków. Dla przedziału (0, 10> liczba musi jednocześnie być większa od 0 oraz mniejsza lub równa 10. To właśnie dlatego potrzebny jest operator &&, a nie ||. Operator || oznacza alternatywę, czyli wystarczy spełnienie jednego warunku. Wyrażenie liczba > 0 || liczba <= 10 jest w praktyce zbyt szerokie, bo prawie każda zwykła liczba spełni przynajmniej jedną z tych części: liczby dodatnie przejdą przez pierwszy warunek, a liczby mniejsze lub równe 10 przez drugi. Taki warunek nie filtruje zakresu, tylko przepuszcza niemal wszystko, więc w walidacji danych byłby poważnym błędem. Z kolei warunki oparte na liczba < 0 albo liczba >= 10 opisują wartości spoza oczekiwanego zakresu, a nie wartości należące do przedziału. Często wynika to z odruchowego przepisania nierówności w przeciwną stronę, bez sprawdzenia, co naprawdę oznacza nawias otwarty i domknięty. Trzeba też uważać na granice: 0 ma być odrzucone, ale 10 ma być zaakceptowane. Warunek liczba < 0 && liczba <= 10 jest dodatkowo logicznie źle ukierunkowany, bo skupia się na liczbach ujemnych; druga część jest wtedy właściwie nadmiarowa, bo każda liczba mniejsza od 0 i tak jest mniejsza lub równa 10. W kodzie produkcyjnym takie pomyłki potrafią powodować błędną walidację formularzy, złe naliczanie rabatów albo przyjmowanie danych, które powinny zostać odrzucone. Najprościej zapamiętać: zakres wewnętrzny zwykle łączymy przez &&, a warunki alternatywne lub wyjście poza zakres często przez ||, ale trzeba bardzo pilnować znaków nierówności.