KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 36.
Poprzez deklarację var x="true"; w języku JaviaScript tworzy się zmienną typu
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W zapisie var x="true"; wartość jest ujęta w cudzysłowy, więc jest literałem tekstowym. Oznacza to, że zmienna x przechowuje łańcuch znaków (typ string), a nie wartość logiczną true. Boolean byłby bez cudzysłowów: var x=true;.

Pełne wyjaśnienie:

W JavaScript typ wartości w zmiennej wynika z tego, co do niej przypisujesz. W deklaracji var x="true"; po znaku równości znajduje się literał w cudzysłowie. Cudzysłowy (pojedyncze lub podwójne) oznaczają, że jest to tekst, czyli typ string. To, że w środku jest słowo true, nie ma znaczenia dla typu — nadal jest to tylko ciąg znaków.

Dlatego odpowiedź "string (ciąg znaków)." jest poprawna: zmienna przechowuje napis, który można np. łączyć z innymi napisami, przycinać, porównywać jak tekst itp.

Dlaczego pozostałe odpowiedzi nie pasują?

  • "liczbowego." — typ number dotyczy wartości liczbowych (np. 123, 3.14). Tutaj nie ma liczby, tylko tekst w cudzysłowie.
  • "logicznego." — typ boolean przyjmuje wyłącznie wartości true lub false bez cudzysłowów. Zapis var x=true; tworzy boolean, ale var x="true"; tworzy string.
  • "nieokreślonego (undefined)." — undefined pojawia się, gdy zmienna nie ma przypisanej wartości (np. var x;) albo gdy przypiszesz undefined. Tu wartość została jawnie ustawiona na napis, więc nie jest to undefined.

Wskazówka egzaminacyjna: jeśli widzisz cudzysłowy, myśl "string". Jeśli widzisz słowa true/false bez cudzysłowów, myśl "boolean". Możesz też w praktyce sprawdzić typ operatorem typeof: typeof x zwróci "string" dla tego przykładu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Oznacza deklarację zmiennej x i przypisanie jej wartości tekstowej "true". Ponieważ wartość jest w cudzysłowie, jest to string (łańcuch znaków), a nie wartość logiczna.
Bo w JavaScript o typie decyduje składnia literału. Cudzysłowy oznaczają tekst, więc "true" to napis. Boolean to wyłącznie true lub false zapisane bez cudzysłowów.
Przypisz ją bez cudzysłowów: var x=true; albo nowocześniej let x=true;. Wtedy x ma typ boolean i działa w warunkach bez dodatkowej konwersji.
Użyj operatora typeof, np. typeof x. Dla var x="true"; dostaniesz wynik "string". To szybki sposób na wychwycenie błędów typów w kodzie.
undefined oznacza brak przypisanej wartości. Najczęściej pojawia się, gdy zadeklarujesz zmienną bez inicjalizacji (np. var x;) albo odczytasz nieistniejące pole obiektu.
Dane z formularzy, URL, cookies i localStorage często są tekstem. Możesz dostać "true" zamiast true. Pułapka polega na tym, że tekst nie zachowuje się jak boolean i trzeba go jawnie zmapować/parsować.
Najprościej porównać tekst: x === "true". To daje boolean. Unikaj Boolean("true"), bo każdy niepusty string jest traktowany jako true, nawet "false".
Nie. var deklaruje zmienną, ale jej typ wynika z aktualnie przypisanej wartości. JavaScript jest dynamicznie typowany: ta sama zmienna może w innym miejscu dostać wartość number, string lub boolean.
var ma zasięg funkcji i hoisting w specyficznej formie; let i const mają zasięg blokowy. Niezależnie od słowa kluczowego, typ wartości nadal zależy od przypisania.
Często są to pytania o rozpoznanie typu po zapisie literału (cudzysłowy, liczby, true/false), działanie typeof oraz skutki porównań == i ===. Warto ćwiczyć na krótkich snippetach.
info

Około 83% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Eksperci podkreślają: "W zapisie var x="true"; wartość jest ujęta w cudzysłowy, więc jest literałem tekstowym."

Źródła:

  • MDN Web Docs: "String" (JavaScript reference) — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String (accessed 2026-03-01)
  • MDN Web Docs: "var" statement — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var (accessed 2026-03-01)
  • MDN Web Docs: "JavaScript data types and data structures" — https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures (accessed 2026-03-01)

Materiały:

  • MDN Web Docs: String (JavaScript) – opis typu i literałów
  • MDN Web Docs: var – zakres i podstawy deklaracji zmiennych
  • MDN Web Docs: Data types and data structures (JavaScript) – przegląd typów

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego