Jakiego typu zmienną tworzy deklaracja var x = "true"; w języku JavaScript?
Źle. Wartość w cudzysłowie to tekst, nie wartość logiczna.
Dobrze. Wartość w cudzysłowie to napis (string).
Źle. Zmiennej przypisano wartość, więc nie jest undefined.
Źle. To nie liczba, tylko ciąg znaków.
W zapisie
var x = "true"; wartość ujęto w CUDZYSŁOWY, więc jest to TEKST (ciąg znaków), a nie wartość logiczna - x jest typu string. Dlatego zmienna jest typu string.Pozostałe typy nie pasują. Gdyby napisano
var x = true; (bez cudzysłowów), byłby to typ LOGICZNY - ale cudzysłowy zmieniają to w tekst. Typ liczbowy dotyczy liczb, a undefined oznacza zmienną bez przypisanej wartości. "true" w cudzysłowach to string.