Nizi (Strings) se uporabljajo za predstavitev in obdelavo zaporedja znakov, so uporabni za shranjevanje podatkov,
ki jih je mogoče predstaviti v besedilni obliki. Nekatere najpogostejše uporabljene operacije na nizih so preverjanje
njihove dolžine, njihova izdelava in povezovanje z nizovnima operaterjema + in +=, preverjanje obstoja ali lokacije
podnizov (Substrings) z metodo indexOf() ali abstrahiranjem podnizov (Substrings) z metodo
substring().
Nize je mogoče ustvariti kot primitivne, iz nizovnih literalov ali kot objekte z uporabo konstruktorja
String(). Primitivni nizi in objekti imajo veliko skupnega vedenja, vendar imajo druge pomembne razlike
in opozorila. Nizovne (ang. String) literale je mogoče določiti z uporabo enojnih ali dvojnih narekovajev, ki se
obravnavajo enako, ali z uporabo povratnega znaka.
Do posameznega znaka v nizu (ang. String) lahko dostopamo na dva načina. Prvi način je z metodo
charAt() in drugi, da niz (ang. String) obravnavamo kot objekt, podoben tabeli (Array), kjer posamezni
znaki ustrezajo številskemu indeksu.
const niz = "Banana"[1]; // vrne vrednost a iz besede Banana
Pri uporabi oglatih oklepajev ([]) za dostop do posameznih znakov poskus brisanja ali dodelitve vrednosti tem lastnostim ne bo uspel. Vključenih lastnosti ni mogoče niti zapisovati, niti konfigurirati. Znotraj niza lahko uporabimo narekovaje, če se ne ujemajo z narekovaji, ki obdajajo niz.
'Uporaba "dvojnega" narekovaja v "nizu", ki je obdan z enojnimi narekovaji.' "Uporaba 'enojnega' narekovaja v 'nizu', ki je obdan z dvojnimi narekovaji."
V JavaScript nizih (ang. Strings) ne moremo uporabljati enakih narekovajev znotraj niza, kot je niz obdan, obstaja pa rešitev te težave z uporabo ubežnega znaka. Ubežni znak je znak s poševnico nazaj (\) skupaj z narekovajem.
| Znak | Rezultat | Opis |
|---|---|---|
| \' | ' | Enojni narekovaj |
| \" | " | Dvojni narekovaj |
| \\ | \ | Poševnica nazaj (Backslash) |
| \b | \b | Vračalka (Backspace) |
| \f | \f | Podatek obrazca |
| \n | \n | Nova vrstica |
| \r | \r | Vrnitev kazalca (Carriage return) |
| \t | \t | Vodoravni tabulator |
| \v | \v | Navpični tabulator |
| \0 | \0 | Ničelni znak (Null character) |
| \xXX | \x41 | Šestnajstiški zapis znaka (XX je šestnajstiška vrednost, primer: \x41 prikaže "A") |
| \uXXXX | \u0041 | Unicode zapis znaka (XXXX je šestnajstiška vrednost, primer: \u0041 prikaže "A") |
Nize je mogoče ustvariti kot primitivne vrednosti (literale) ali kot objekte. Primitivni nizi so hitrejši in se
uporabljajo v večini primerov. Vsak niz ima lastnost length, ki vrača število znakov, ter številne
metode za iskanje, spreminjanje in obdelavo besedila.
Za delo z nizovi v JavaScriptu so na voljo različne metode, razdeljene v več kategorij:
Spodnja tabela prikazuje vse glavne metode in lastnosti objektov String v JavaScriptu. Za vsako metodo so navedeni opis delovanja, sintaksa in konkreten primer kode.
| Ime | Opis | Sintaksa | Primer |
|---|---|---|---|
| length | Vrne število znakov v nizu. | niz.length |
let dolzina = "Banana".length; // 6 |
| indexOf() | Vrne indeks prvega pojavljanja podniza (-1, če ne najde). | niz.indexOf("podniz", začetniIndeks) |
"Banana".indexOf("na"); // 2 |
| lastIndexOf() | Vrne indeks zadnjega pojavljanja podniza. | niz.lastIndexOf("podniz") |
"Banana".lastIndexOf("na"); // 4 |
| includes() | Vrne true, če niz vsebuje podniz, sicer false. |
niz.includes("podniz") |
"Banana".includes("na"); // true |
| startsWith() | Vrne true, če niz začne s podnizom. |
niz.startsWith("podniz") |
"Banana".startsWith("Ba"); // true |
| endsWith() | Vrne true, če niz konča s podnizom. |
niz.endsWith("podniz") |
"Banana".endsWith("na"); // true |
| search() | Vrne indeks prvega pojavljanja (podpira regularne izraze). | niz.search(regularniIzraz) |
"Banana".search(/a/i); // 1 |
| match() | Vrne array ujemanj (podpira regularne izraze). | niz.match(regularniIzraz) |
"Banana".match(/a/g); // ["a", "a", "a"] |
| slice() | Izreže del niza (podpira negativne indekse). | niz.slice(zacetek, konec) |
"Banana".slice(1, 4); // "ana" |
| substring() | Izreže del niza (ne podpira negativnih indeksov). | niz.substring(zacetek, konec) |
"Banana".substring(1, 4); // "ana" |
| substr() | Izreže del niza (začetek in dolžina) – opuščeno. | niz.substr(zacetek, dolzina) |
"Banana".substr(1, 3); // "ana" |
| split() | Pretvori niz v array, ločen z določenim ločilom. | niz.split("ločilo") |
"a,b,c".split(","); // ["a", "b", "c"] |
| toUpperCase() | Vrne niz v velikih črkah. | niz.toUpperCase() |
"banana".toUpperCase(); // "BANANA" |
| toLowerCase() | Vrne niz v malih črkah. | niz.toLowerCase() |
"BANANA".toLowerCase(); // "banana" |
| trim() | Odstrani presledke na začetku in koncu niza. | niz.trim() |
" banana ".trim(); // "banana" |
| trimStart() | Odstrani presledke na začetku niza. | niz.trimStart() |
" banana".trimStart(); // "banana" |
| trimEnd() | Odstrani presledke na koncu niza. | niz.trimEnd() |
"banana ".trimEnd(); // "banana" |
| padStart() | Doda znake na začetek niza do določene dolžine. | niz.padStart(dolzina, znak) |
"5".padStart(3, "0"); // "005" |
| padEnd() | Doda znake na konec niza do določene dolžine. | niz.padEnd(dolzina, znak) |
"5".padEnd(3, "0"); // "500" |
| replace() | Zamenja prvi pojavljeni podniz (podpira regex). | niz.replace(stari, novi) |
"Banana".replace("B", "b"); // "banana" |
| replaceAll() | Zamenja vse pojave podniza (podpira regex). | niz.replaceAll(stari, novi) |
"Banana".replaceAll("a", "A"); // "BAnAnA" |
| repeat() | Ponovi niz določen število krat. | niz.repeat(število) |
"Ha".repeat(3); // "HaHaHa" |
| charAt() | Vrne znak na določenem indeksu. | niz.charAt(indeks) |
"Banana".charAt(1); // "a" |
| charCodeAt() | Vrne Unicode vrednost znaka na določenem indeksu. | niz.charCodeAt(indeks) |
"Banana".charCodeAt(1); // 97 |
| [indeks] | Dostop do znaka z oglatimi oklepaji (kot pri arrayju). | niz[indeks] |
"Banana"[1]; // "a" |
| concat() | Poveže dva ali več nizov (manj uporabljeno od +). | niz.concat(niz2, niz3) |
"B".concat("anana"); // "Banana" |
| toString() | Vrne vrednost kot niz (privzeto za objekte String). | niz.toString() |
String(123).toString(); // "123" |
| valueOf() | Vrne osnovno vrednost niza. | niz.valueOf() |
"Banana".valueOf(); // "Banana" |
| Template Literals | Omogoča vstavljanje spremenljivk v niz z backticks (`). |
`Niz ${spremenljivka}` |
`Pozdrav, ${ime}!`; // "Pozdrav, Ana!" |