KWALIFIKACJA INF3 - STYCZEŃ 2024

PYTANIE NR 28.
W języku JavaScript wynik działania instrukcji
zmienna1 -= 1; 
będzie taki sam, jak instrukcji
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Instrukcja
zmienna1 -= 1;
jest skrótem zapisu
zmienna1 = zmienna1 - 1;
, czyli zmniejsza wartość zmiennej o 1.
Taki sam efekt modyfikacji daje
zmienna1--;
. Pozostałe opcje zwiększają wartość, nie zmieniają jej albo wykonują porównanie, a nie przypisanie.

Pełne wyjaśnienie:

W JavaScript operator -= to tzw. skrócony operator przypisania. Zapis zmienna1 -= 1; oznacza dokładnie: zmienna1 = zmienna1 - 1; czyli: weź bieżącą wartość zmiennej, odejmij 1 i zapisz wynik z powrotem do tej samej zmiennej. Efektem jest zmniejszenie wartości o 1.

Operator dekrementacji zmienna1--; również zmniejsza wartość zmiennej o 1, dlatego daje taki sam skutek końcowy dla wartości zmienna1 (po wykonaniu instrukcji).

Dlaczego pozostałe propozycje są błędne:

  • zmienna1++;
    to inkrementacja, czyli zwiększenie wartości o 1 (kierunek zmiany jest przeciwny).
  • zmienna1 = zmienna1 - 0;
    odejmuje 0, więc w praktyce nie zmienia wartości (pomijając ewentualne niuanse typów, nadal nie jest to "minus 1").
  • zmienna1 === zmienna1 - 1;
    to porównanie ścisłe (operator równości). Taki zapis zwraca wartość logiczną true/false i nie modyfikuje zmiennej, bo nie ma tu przypisania.

Wskazówka egzaminacyjna: gdy widzisz -= 1, szukasz odpowiedzi, która zmniejsza o 1 i jest operatorem modyfikującym zmienną (przypisanie albo ++/--), a nie operatorem porównania.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator -= to skrócony zapis odejmowania z przypisaniem. Wyrażenie x -= 1 oznacza: x = x - 1, czyli oblicz wynik i zapisz go z powrotem do tej samej zmiennej.
Zapis zmienna-- to operator dekrementacji: zmniejsza wartość zmiennej o 1. Najczęściej używa się go do liczników i pętli. Efektem końcowym jest to, że po wykonaniu instrukcji zmienna ma wartość mniejszą o 1.
Dla samej wartości zmiennej po wykonaniu instrukcji efekt jest taki sam: spadek o 1. Różnice mogą dotyczyć wartości całego wyrażenia, gdy używasz tego w większym wyrażeniu (np. w przypisaniu), ale w prostej instrukcji zmiany stanu licznika są równoważne.
Operator === służy do porównania, a nie do przypisania. Zapis a === b zwraca true albo false. Nie ma tu operatora =, więc wartość zmiennej nie jest nadpisywana i pozostaje bez zmian.
Najczęstsze pomyłki to: mylenie kierunku zmiany (wybór ++ zamiast --), mylenie przypisania z porównaniem (użycie ===), oraz nieuwzględnianie kontekstu wyrażenia (różnica między post- i pre-inkrementacją w złożonych wyrażeniach).
Szukaj sygnałów: -= 1, "odejmij 1", "zmniejsz licznik", "dekrementuj". Następnie wybieraj operator, który modyfikuje zmienną w dół, czyli najczęściej -- albo równoważne przypisanie x = x - 1.
x -= 1 bywa czytelniejsze, gdy zmieniasz o inną wartość niż 1 (np. x -= 5) lub gdy chcesz konsekwentnie używać operatorów z przypisaniem. x-- jest krótkie i popularne w licznikach, ale dotyczy tylko zmiany o 1.
W typowym rozumieniu arytmetyki odejmowanie zera nie zmienia wartości, więc x = x - 0 jest "operacją bez efektu" dla liczby. W praktyce to nie realizuje celu "zmniejsz o 1", więc w zadaniach egzaminacyjnych jest to klasyczny dystraktor.
Warto opanować skrócone przypisania: +=, -=, *=, /=, a także rozumieć różnicę między przypisaniem = a porównaniami == i ===. To często pojawia się w zadaniach z JavaScript.
Najlepiej uruchomić krótki kod w konsoli przeglądarki (DevTools) i obserwować wartości przed i po wykonaniu instrukcji. Pomaga też dopisywanie console.log po każdej operacji, aby widzieć realny efekt operatora na zmiennej.
info

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

Eksperci podkreślają: "Instrukcja zmienna1 -= 1; jest skrótem zapisu zmienna1 = zmienna1 - 1;, czyli zmniejsza wartość zmiennej o 1.Taki sam efekt modyfikacji daje zmienna1--;."

Źródła:

  • MDN Web Docs: Assignment operators (JavaScript) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_operators (dostęp: 2026-03-02)
  • MDN Web Docs: Decrement (--) operator – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Decrement (dostęp: 2026-03-02)
  • MDN Web Docs: Strict equality (===) operator – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Strict_equality (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja MDN: operatory przypisania w JavaScript
  • Dokumentacja MDN: operatory inkrementacji/dekrementacji
  • Ćwiczenia z podstaw JavaScript (zmienne, operatory, instrukcje)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego