W języku JavaScript zapisano fragment kodu. Po wykonaniu skryptu zmienna x
var x = 10; x += 5; document.write(x);
A. będzie równa 15 i zostanie wypisana w konsoli przeglądarki internetowej.
B. będzie równa 10 i zostanie wypisana w oknie dialogowym.
C. będzie równa 15 i zostanie wypisana w dokumencie HTML.
D. będzie równa 105 i zostanie wypisana w dokumencie HTML.
Poprawna odpowiedź to: będzie równa 15 i zostanie wypisana w dokumencie HTML. Zmienna x otrzymuje na początku wartość liczbową 10. Instrukcja x += 5 jest skróconym zapisem x = x + 5, więc do aktualnej wartości zmiennej dodawane jest 5. Po tej operacji x ma wartość 15. Polecenie document.write(x) wypisuje przekazaną wartość bezpośrednio do dokumentu HTML, czyli do treści strony renderowanej przez przeglądarkę. Nie jest to zapis do konsoli ani komunikat w oknie dialogowym. W praktyce operator += często stosuje się do zwiększania liczników, sumowania wartości lub dopisywania tekstu, ale przy liczbach wykonuje dodawanie arytmetyczne.
W tym kodzie decydują dwa elementy: operator += oraz funkcja document.write. Poprawna odpowiedź brzmi: będzie równa 15 i zostanie wypisana w dokumencie HTML. Zapis x += 5 oznacza x = x + 5, więc wartość 10 zostaje zwiększona do 15. Odpowiedź „będzie równa 15 i zostanie wypisana w konsoli przeglądarki internetowej” myli document.write z console.log. Do konsoli trafiłaby wartość po użyciu console.log(x). Odpowiedź „będzie równa 105 i zostanie wypisana w dokumencie HTML” pasowałaby do sytuacji, w której x byłoby tekstem, na przykład "10", a nie liczbą 10. Wtedy operator + mógłby wykonać konkatenację. Odpowiedź „będzie równa 10 i zostanie wypisana w oknie dialogowym” pomija działanie operatora += i myli document.write z alert. Typowy błąd polega na nierozróżnianiu sposobów wyprowadzania danych w JavaScripcie.