KWALIFIKACJA INF3 - CZERWIEC 2018

PYTANIE NR 31.
W języku JavaScript wynik działania instrukcji zmienna++; będzie taki sam jak instrukcji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja zmienna++; zwiększa wartość zmiennej o 1 (inkrementacja). Taki sam skutek dla samej zmiennej daje zapis zmienna += 1;, czyli "dodaj 1 i przypisz wynik". Pozostałe opcje albo zmniejszają wartość, albo dodają inną liczbę, albo wykonują porównanie.

Pełne wyjaśnienie:

W JavaScript zapis zmienna++ to tzw. postinkrementacja. Oznacza to, że:

  • wartość przechowywana w zmiennej zostaje zwiększona o 1,
  • sam operator ++ jest operatorem "aktualizacji" (modyfikuje zmienną), a nie tylko oblicza wynik.

Jeżeli interesuje nas efekt w zmiennej (czyli stan po wykonaniu instrukcji zakończonej średnikiem), to równoważnym zapisem jest zmienna += 1;. Operator += wykonuje dodawanie oraz przypisanie w jednym kroku: w praktyce odpowiada konstrukcji "weź bieżącą wartość, dodaj 1, zapisz z powrotem".

Dlaczego pozostałe odpowiedzi nie pasują?

  • zmienna--; to dekrementacja, czyli zmniejszenie wartości o 1. Jest więc działaniem przeciwnym do ++.
  • zmienna = zmienna + 10; rzeczywiście jest przypisaniem po dodawaniu, ale zwiększa wartość o 10, a nie o 1. Skutek końcowy w zmiennej będzie inny.
  • zmienna === zmienna + 1; to porównanie ścisłe (operator ===). Taki zapis nie zmienia zmiennej, tylko zwraca wartość logiczną (true lub false) zależnie od wyniku porównania. Nie jest to instrukcja inkrementacji.

Wskazówka egzaminacyjna: zwracaj uwagę, czy operator modyfikuje zmienną (np. ++, +=, =), czy tylko sprawdza warunek (np. ===). To najszybszy sposób odróżnienia przypisania od porównania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator ++ wykonuje inkrementację, czyli zwiększa wartość zmiennej o 1. W praktyce modyfikuje zmienną (ma skutek uboczny), a nie tylko oblicza wynik. Występuje jako postinkrementacja (x++) i preinkrementacja (++x).
Oba zapisy zwiększają x o 1, ale różnią się wartością całego wyrażenia. x++ zwraca starą wartość (przed zwiększeniem), a ++x zwraca nową (po zwiększeniu). W samodzielnej instrukcji efekt w zmiennej jest taki sam.
Dla samej zmiennej (po wykonaniu instrukcji) efekt jest taki sam: wartość rośnie o 1. Różnica może ujawnić się w złożonych wyrażeniach, bo x++ ma semantykę postinkrementacji. Na egzaminie zwykle chodzi o skutek w zmiennej.
Bo === to operator porównania ścisłego, a nie przypisania. Taki zapis jedynie sprawdza równość dwóch wartości i zwraca true/false. Nie zapisuje wyniku do zmiennej, więc stan zmiennej pozostaje bez zmian.
Instrukcja x--; wykona dekrementację, czyli zmniejszy wartość x o 1. To przeciwieństwo inkrementacji. Uwaga: podobnie jak przy ++, w wyrażeniach istnieje wersja post (x--) i pre (--x), różniące się wartością wyrażenia.
x += 1 bywa czytelniejsze, gdy chcesz podkreślić "dodaj 1 i zapisz", albo gdy i tak używasz przypisań z operatorem (+=, -=). x++ jest krótsze i często spotykane w pętlach. W obu przypadkach dbaj o czytelność kodu.
Operator += to przypisanie z dodawaniem: najpierw dodaje prawą stronę do bieżącej wartości zmiennej, a potem zapisuje wynik do tej zmiennej. Przykład: x += 5 zwiększa x o 5 (podobnie do x = x + 5).
JavaScript spróbuje wykonać konwersję typów. Dla wartości, które da się sensownie zamienić na liczbę (np. "3"), inkrementacja zadziała. Dla wartości nienumerycznych wynik może stać się NaN. Na egzaminie zwykle zakłada się, że zmienna ma typ liczbowy.
Częsty błąd to mylenie === (porównanie) z = (przypisanie) lub zakładanie, że każda linia z "=" zmienia zmienną. Druga pułapka to ignorowanie różnicy między x++ i ++x w wyrażeniach złożonych.
Sprawdź, czy operator jest przypisaniem lub aktualizacją: =, +=, -=, ++, -- – wtedy zmienna się zmienia. Jeśli widzisz ===, >, < itp., to zwykle jest to porównanie zwracające wartość logiczną.
info

To pytanie poprawnie rozwiązuje 71% zdających egzamin. średnio łatwe

Według specjalistów z branży: "Instrukcja zmienna++; zwiększa wartość zmiennej o 1 (inkrementacja)."

Źródła:

  • MDN Web Docs: Increment (++) - JavaScript, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Increment (accessed 2026-03-01)
  • MDN Web Docs: Addition assignment (+=) - JavaScript, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Addition_assignment (accessed 2026-03-01)
  • ECMAScript Language Specification (ECMA-262): sekcje dotyczące Update Expressions i Assignment Operators, https://tc39.es/ecma262/ (accessed 2026-03-01)

Materiały:

  • Dokumentacja MDN: operatory inkrementacji i dekrementacji
  • Dokumentacja MDN: operator przypisania z dodawaniem +=
  • Specyfikacja ECMAScript (sekcje dotyczące operatorów aktualizacji i przypisań)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego