Powrót do: TypeScript dla Testera – Ekspresowe Podstawy (i za darmo!)
Porównywanie wartości zmiennych + QUIZ
TIP: Cały kod do poszczególnych lekcji, dodatkową teorię i linki z tej i innych lekcji - znajdziesz w darmowym repozytorium - https://github.com/jaktestowac/typescript-dla-testera
Chcesz dokładniej poznać TypeScript? Sprawdź nasz Program JavaScript i TypeScript dla Testerów
Dodatkowe materiały
Najważniejsze tematy w tej lekcji:
- Ścisłe vs luźne porównania:
===/!==kontra==oraz!=. - Przy porównaniach typów:
- Ścisłe porównanie nie konwertuje typów (np.
1 === '1'jestfalse). - Luźne porównanie konwertuje typy (np.
1 == '1'jesttrue).
- Ścisłe porównanie nie konwertuje typów (np.
- Relacje: większe/mniejsze (czyli
<,>,<=,>=).
TIP: Preferuj wykorzystanie === i !==, aby uniknąć zaskoczeń przy niejawnych konwersjach typów!
Linki zewnętrzne
Zadania
Przewidź, co zobaczysz w konsoli — a potem rozwiń rozwiązanie z wyjaśnieniem.
Zadanie 1 — ścisłe vs luźne (number vs string)
Treść zadania: Co wypisze konsola?
// Loose vs strict equality console.log(1 == '1'); console.log(1 === '1');
Zadanie 2 — boolean i liczby
Treść zadania: Co wypisze konsola?
// Loose equality may coerce false -> 0 console.log(0 == false); console.log(0 === false);
Zadanie 3 — null i undefined
Treść zadania: Co wypisze konsola?
// Special rule for null and undefined console.log(null == undefined); console.log(null === undefined);
Zadanie 4 — porównania liczbowe z konwersją
Treść zadania: Co wypisze konsola?
// When one side is a number and the other is a numeric string,
// JS converts the string to a number for <, >, <=, >=
console.log('8' < 10);
console.log(10 > '12');
Zadanie 5 — porównania łańcuchów (string vs string)
Treść zadania: Co wypisze konsola?
// String vs string uses lexicographic (alphabetical) order by characters
console.log('2' > '10');
console.log('apple' < 'banana');
Zadanie 6 — NaN i porównania
Treść zadania: Co wypisze konsola?
// NaN is never equal to anything, including itself console.log(NaN === NaN); console.log(Number.isNaN(NaN));

(!true || false) && (!false || true)
Quiz w pytaniu 2 oczekuje złej odp
Zwraca mi incorrect przy kliknieciu odp false
Hej, Dzięki za wypatrzenie tego błędu i zgłoszenie – poprawione! 🙂