Łańcuch JavaScript to zero lub więcej znaków wpisanych w cudzysłowie (pojedynczym lub podwójnym). Drugi typ cudzysłowia można użyć wewnątrz jako zwykłego cudzysłowia. Jeśli potrzebujesz ich więcej - użyj znaku \ przed znakiem, zmienia on znak specjalny w zwykły znak.
var zdanie = "Nie jestem 'biały'";
var zdanie = "Nie jestem \"biały\"";
Przy okazji... sekwencje specjalne JS typu \n (nowa linia) czy \r powrót karetki czy \t (znak tabulacji) itp. nie mają sensu w HTML i są w nim bezużyteczne. Możesz je jednak użyć np. w okienku alertu. 🛠
Zwykle łańcuchy JavaScript są wartościami pierwotnymi, utworzonymi z literałów:
var imie = "Piotr";Ale ciągi znaków można również zdefiniować jako obiekty ze słowem kluczowym
new
:
var imie = new String("Piotr");
jednak zauważ, że zwolnisz wykonanie kodu i skomplikujesz go, gdyż:
var x1 = "Piotr"; var x2 = "Piotr"; var y1 = new String("Piotr"); var y2 = new String("Piotr"); document.writeln(typeof x1); // string document.writeln(typeof x2); // string document.writeln(typeof y1); // object document.writeln(typeof y2); // object document.write("
"); document.writeln(x1==x2); // true document.writeln(x1===x2); // true document.writeln(y1==y2); // false ! (różne obiekty !) document.writeln(x1==y1); // true (identyczne wartości) document.writeln(x1===y1); // false ! (różne typy)
Lepiej więc tego nie rób jeśli nie musisz. :)
Obiekty mają właściwości i metody. Wartości pierwotne nie mogą ich mieć. Jednak w JS wartości pierwotne są traktowane jak obiekty podczas wykonywania metod i właściwości.
Właściwość | Opis | Składnia |
constructor | Zwraca funkcję konstruktora łańcucha. Zwracana wartość jest odwołaniem do funkcji, a nie nazwą funkcji. | string.constructor |
length | Zwraca długość łańcucha | string.length |
prototype | Umożliwia dodawanie właściwości i metod do obiektu | object.prototype.name = value |
Wszystkie metody łańcuchowe zwracają nową wartość. Nie zmieniają oryginalnej zmiennej.
Metoda | Opis | Składnia |
charAt() | Zwraca znak o określonym indeksie (pozycji) | string.charAt(index) |
charCodeAt() | Zwraca Unicode znaku o określonym indeksie | string.charCodeAt(index) |
concat() | Łączy dwa lub więcej ciągów i zwraca nowe połączone ciągi | string.concat(string1, string2, ..., stringN) |
endsWith() | Sprawdza, czy łańcuch kończy się określonym ciągiem / znakami. Zwraca prawdę lub fałsz (true, false). | string.endsWith(szukanaWartość, długość) |
fromCharCode() | Konwertuje wartości Unicode na znaki | String.fromCharCode(kod1, kod2, ..., kodN) |
includes() | Sprawdza, czy ciąg zawiera określony ciąg / znaki | string.includes(szukanaWartość, index-start) |
indexOf() | Zwraca pozycję pierwszego znalezionego wystąpienia określonej wartości w ciągu lub -1 (nie występuje) | string.indexOf(szukanaWartość, index-start) |
lastIndexOf() | Zwraca pozycję ostatniego znalezionego wystąpienia określonej wartości w ciągu lub -1 (nie występuje) | string.lastIndexOf(szukanaWartość, index-start) |
localeCompare() | Porównuje dwa ciągi znaków w bieżącym języku i wskazuje kolejność sortowania zwracając -1, 0, 1 (łańcuch sortowany przed porównywanym, równy, po) | string.localeCompare(łańcuchPorównywany) |
match() | Przeszukuje ciąg znaków pod kątem dopasowania do wyrażenia regularnego 🛠 i zwraca dopasowania jako obiekt Array (tablicę). Null jeśli nie znaleziono dopasowania. | string.match(regexp) |
repeat() | Zwraca nowy ciąg znaków z określoną liczbą kopii istniejącego ciągu | string.repeat(liczbaKopii) |
replace() | Przeszukuje łańcuch pod kątem określonej wartości lub wyrażenia regularnego 🛠 i zwraca nowy łańcuch, w którym określone wartości są zastępowane | string.replace(szukanaWartość, nowaWartość) |
search() | Przeszukuje łańcuch pod kątem określonej wartości lub wyrażenia regularnego 🛠 i zwraca pozycję pierwszego dopasowania | string.search(szukanaWartość) |
slice() | Wyodrębnia część łańcucha i go zwraca (kopia wycięcia). Od <start, end). Drugą wartość (koniec) można pominąć. Wycięcie ostatniego znaku oznaczamy przez -1. | string.slice(start_index, end_index) |
split() | Dzieli łańcuch na tablicę podciągów. Zwraca tablicę. Limit to maksymalna liczba podłańcuchów do wypisania. | string.split(separator, limit) |
startsWith() | Sprawdza, czy ciąg zaczyna się od określonych znaków. Zwraca true lub false. | string.startsWith(sprawdzanaWartość, start-index) |
substr() | Wyodrębnia znaki z łańcucha, zaczynając od określonej pozycji początkowej określoną liczbę znaków | string.substr(start-index, length) |
substring() | Wyodrębnia znaki z ciągu między dwoma określonymi indeksami <początek, koniec). | string.substring(start-index, end-index) |
toLocaleLowerCase() | Konwertuje ciąg na małe litery, zgodnie z ustawieniami regionalnymi hosta | string.toLocaleLowerCase() |
toLocaleUpperCase() | Konwertuje ciąg na wielkie litery, zgodnie z ustawieniami regionalnymi hosta | string.toLocaleUpperCase() |
toLowerCase() | Konwertuje ciąg na małe litery | string.toLowerCase() |
toUpperCase() | Konwertuje ciąg na wielkie litery | string.toUpperCase() |
trim() | Usuwa białe znaki z obu końców łańcucha | string.trim() |
toString() | Zwraca wartość obiektu String | string.toString() |
valueOf() | Zwraca pierwotną wartość obiektu String. JS stosuje ją automatycznie. | string.valueOf() |
Metody owijania HTML zwracają łańcuch zawinięty w odpowiedni znacznik HTML. Nie są standardowe i mogą nie działać we wszystkich przeglądarkach zgodnie z oczekiwaniami
anchor() tworzy anchor (kotwicę)