Strona główna › Pytania INF.04 › Pytanie 40
INF.04 · pytanie #40
Jaki będzie wynik działania poniższego kodu JavaScript? <pre class="code-block">let x = 5; let y = '10'; console.log(x + y);</pre>
- A510
- B15
- Cundefined
- Derror
Poprawna odpowiedź: A. 510
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Wynik działania podanego kodu to 510, co może być zaskakujące dla osób nieznających typów danych w JavaScript. W tym przypadku zmienna x jest liczbą całkowitą (5), a zmienna y jest łańcuchem tekstowym ('10'). Kiedy używamy operatora + w JavaScript, następuje tzw. "przesunięcie typów". Gdy jeden z operandów jest łańcuchem, to JavaScript konwertuje pozostałe typy na łańcuch, a następnie wykonuje konkatenację. W efekcie 5 konwertowane jest na '5', a wynik końcowy to '5' + '10', co daje '510'. To zachowanie jest zgodne z regułami języka JavaScript i jego dynamicznym typowaniem. Warto zwrócić uwagę, że taka konwersja może prowadzić do niezamierzonych wyników, dlatego ważne jest, aby zrozumieć, kiedy i jak działają operatory w JavaScript. Dla większej jasności, w sytuacjach, gdy chcemy dodać dwie liczby, lepiej jest upewnić się, że obie zmienne mają ten sam typ danych, np. przez użycie funkcji parseInt() lub parseFloat().
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.