Zmienna typu string może przechowywać
A. wyłącznie liczbę rzeczywistą.
B. ciąg znaków (tekst).
C. wyłącznie liczbę całkowitą.
D. wyłącznie wartość logiczną.
Zmienna typu string przechowuje ciąg znaków, czyli tekst. Może to być pojedyncza litera, całe zdanie, adres e-mail, login użytkownika, numer telefonu zapisany jako tekst albo nawet pusty tekst bez żadnych znaków. W praktyce w JavaScripcie można mieć np. let imie = 'Kasia', a w PHP $email = '[email protected]'. Taka wartość nie służy bezpośrednio do obliczeń matematycznych, tylko do przechowywania i przetwarzania danych tekstowych: wyświetlania komunikatów, budowania treści strony, obsługi formularzy czy zapisywania nazw produktów. Moim zdaniem to jeden z najważniejszych typów danych, bo w aplikacjach webowych użytkownik bardzo często wpisuje właśnie tekst. Dobra praktyka jest taka, żeby świadomie dobierać typ danych: jeśli dana wartość ma być liczona, używamy typu liczbowego, a jeśli ma być identyfikatorem, opisem lub napisem, wtedy string pasuje najlepiej. W standardach i dokumentacji języków, np. ECMAScript dla JavaScript czy dokumentacji PHP, string jest traktowany jako sekwencja znaków, często kodowana w praktyce z użyciem UTF-8, co pozwala obsługiwać polskie znaki i inne alfabety.
W tym pytaniu łatwo wpaść w pułapkę, bo różne wartości można czasem zapisać podobnie, ale ich typ nadal ma znaczenie. String nie oznacza liczby całkowitej, liczby rzeczywistej ani wartości logicznej. Liczba całkowita to typ przeznaczony do wartości takich jak 7, 0 albo -15, czyli danych używanych zwykle w obliczeniach, licznikach, indeksach tablic czy identyfikatorach liczbowych. Liczba rzeczywista, często nazywana float lub double, przechowuje wartości z częścią ułamkową, na przykład 3.14 albo 12.5. Wartość logiczna, czyli boolean, służy do zapisu stanów true albo false, np. czy użytkownik jest zalogowany. To zupełnie inne zastosowanie niż tekst. Typowy błąd myślowy polega na tym, że ktoś widzi np. '123' i uznaje to za liczbę. A jeśli ta wartość jest zapisana jako string, to program traktuje ją jako znaki: znak 1, znak 2 i znak 3. Da się ją czasem przekonwertować na liczbę, ale to już osobna operacja i trzeba ją robić świadomie. W programowaniu webowym ma to spore znaczenie, bo dane z formularzy często przychodzą jako tekst i dopiero później są walidowane oraz zamieniane na właściwy typ. Z mojego doświadczenia wynika, że pomylenie stringa z liczbą prowadzi do dziwnych błędów, na przykład sklejania tekstu zamiast dodawania liczb. Dlatego warto pamiętać: string to tekst, a nie automatycznie dowolna dana.