Podstawowe operacje na napisach
Jak widzieliśmy w pierwszym rozdziale, w Javascript pozwala operować nie tylko na liczbach, ale także na napisach – zwanych ciągami znaków (ang. string). Ciąg znaków ujmuje się w cudzysłowu lub apostrofy. Podobnie jak liczby, ciągi znaków mogą być umieszczane w zmiennych i dodawane (łącone ze sobą).
Przykład:
var abc=”Abecadło”;
> var abc="ABC";
> console.log(abc+'22');
ABC22
Teoretycznie w obecnie używanych wersjach Javascript możemy zapisać także
> console.log(abc+22);
liczba zostaje przekształcona w napis i dołączona do napisu ze zmiennej abc.
Takie działanie nie jest jednak zalecane. Zamiast tego możemy jawnie przekształcić liczbę na napis, korzystając z tego że nawet proste dane (takie jak napisy i liczby) mogą być traktowane jako obiekt. Obiekt ten udostępnia między innymi funkcję (metodę) toString – zamieniającą wartość na łańcuch znaków (https://www.w3schools.com/js/js_number_methods.asp):
var abc="ABC";
console.log(abc+(22).toString());
ABC22
Ujęcie w nawiasy liczby jest konieczne, aby znaczenie kropki było jednoznaczne (22. jest poprawną liczbą).
Podobnie jako obiekt można traktować łańcuchy znaków. Dzięki temu uzyskujemy szereg metod manipulowania napisami: https://www.w3schools.com/js/js_string_methods.asp
Na przykład uzyskanie fragmentu łańcucha funkcją substring (https://www.w3schools.com/jsref/jsref_substring.asp):
> var abc="ABC";
> console.log(abc.substring(1,2));
B
Jak widać pierwszy parametr pokazuje początek wycinanego łańcucha (pozycja liczona od zera), a drugi (opcjonalny) – pozycję końca (a nie długość – co często ma miejsce w innych językach programowania).
Dygresja: nie ucz się wszystkiego na pamięć!
Powyższe proste przykłady wymagały pewnej wiedzy na temat struktury obiektów Number (liczba) i String (łańcuch znaków). Wiedza ta jest łatwo dostępna w internecie. Na przykład kompletne informacje o obiekcie liczby znajdziesz na stronach:
- https://www.w3schools.com/jsref/jsref_obj_number.asp
- https://www.w3schools.com/js/js_numbers.asp
- https://www.w3schools.com/js/js_number_methods.asp
W razie problemu – możesz szukać pomocy na stronach https://stackoverflow.com/.
Pełny opis Javascript zająłby tysiące stron – a na dodatek język ten dynamicznie się rozwija. Zmiany które dopiero są wprowadzane (wrócimy jeszcze do tego tematu) możesz znaleźć na stronie https://babeljs.io/learn-es2015/.
Celem nauki powinno być opanowanie języka i zasad pisania w nim programów. Po szczegółowe opisy dostępnych obiektów sięgamy wtedy, kiedy są potrzebne (taka metoda nauki nazywa się Just in time learning).