Szövegek
Bővebben a stringekről¶
A stringeket leggyakrabban aposztrófok ('...') vagy idézőjelek ("...") között szoktuk megadni. A két megadási mód között lényegi különbség nincs.
Több soros szövegeket backtick karakterek (AltGr + 7) között adhatunk meg.
1 2 3 4 | |
Escape szekvenciák¶
A stringekben speciális karaktereket escape szekvenciákkal adhatunk meg:
1 2 3 4 5 6 7 8 9 | |
Kimenet
First line
Second line With tab
He said: "Hello world!"
C:\Users\student\Documents
It's a beautiful day
Gyakori escape szekvenciák:
\n- új sor\t- tabulátor\"- idézőjel\'- aposztróf\\- backslash
Alapműveletek¶
A stringek összefűzése a + (plusz) operátorral történik.
1 2 | |
Kimenet
JavaScript
Szövegek hossza¶
JavaScriptben egy string hosszát a length property-vel tudjuk lekérdezni.
1 2 | |
Kimenet
10
Karakterek indexelése¶
A stringek karaktereit JavaScriptben szögletes zárójel operátorral indexelhetjük: text[index]. A karakterek indexelése itt is 0-tól kezdődik.
1 2 3 4 5 | |
Kimenet
The character at index 0: H
The character at index 4: o
The last character: d
Fontos megjegyezni, hogy a Pythonban létező negatív indexelés, illetve intervallumos indexelés JavaScriptben nem működik! Amennyiben alul- vagy túlindexeljük a stringet, undefined értéket kapunk.
1 2 3 4 | |
Kimenet
undefined
undefined
Immutable adattípus¶
A string adattípus JavaScriptben is immutable, tehát a szövegek kezdeti értéke nem változtatható meg.
1 2 3 4 | |
Kimenet
goat
Stringek összehasonlítása¶
A stringek összehasonlítása lexikografikus (szótár) sorrendben történik:
1 2 3 4 5 6 7 8 | |
Kimenet
true
true
true
true
false
false
Stringkezelő függvények¶
JavaScriptben rengeteg beépített stringkezelő függvényt használhatunk. Tekintsük át ezek közül a kurzus szempontjából a legfontosabbakat!
Alapvető metódusok¶
s.toLowerCase(): csupa kisbetűssé alakítja azsstringets.toUpperCase(): csupa nagybetűssé alakítja azsstringets.trim(): eltávolítja a helyközöket azsstring elejéről és végéről
Keresési és vizsgálati metódusok¶
s.startsWith(v): igazat ad vissza, ha azsstring avértékkel kezdődiks.endsWith(v): igazat ad vissza, ha azsstring avértékre végződiks.indexOf(text): visszaadja atextszöveg legelső előfordulásának a kezdőindexét azsstringen belül (-1-et ad vissza, ha a keresett szöveg nem szerepel azsstringben)s.includes(text): igazat ad vissza, ha azsstring tartalmazza atextszöveget (modern alternatíva azindexOf-hoz)
Kivágási és részstring metódusok¶
s.substring(start, end): visszaadja azsstringből egy részstringet astartindextől azendindexig (nem beleértve)s.slice(start, end): hasonló asubstring-hez, de támogatja a negatív indexeket is
Figyelem
A substr() metódus elavult (deprecated), helyette használjuk a substring() vagy slice() metódusokat!
Csere és átalakítási metódusok¶
s.replace(old, new): lecseréli azsstringben a legelsőoldrészstringet anewszövegres.replaceAll(old, new): lecseréli azsstringben az összesoldrészstringet anewszövegres.split(delim): feldarabolja azsstringetdelimkarakterek mentén (egy tömböt ad vissza)
Modern metódusok¶
s.repeat(n): azsstringetn-szer megismétlis.padStart(length, padString): kiegészíti azsstringet balról a megadott hosszúságigs.padEnd(length, padString): kiegészíti azsstringet jobbról a megadott hosszúságig
Példa: Stringkezelő függvények használata
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | |
Kimenet
the lemon ice cream is the best ice cream
THE LEMON ICE CREAM IS THE BEST ICE CREAM
true
The lemo
The lemo
The lemon cake is the best ice cream
The text contains ice cream!
The lemon cake is the best cake
[
'The', 'lemon',
'ice', 'cream',
'is', 'the',
'best', 'ice',
'cream'
]
HiHiHi
005
Price.....
Template stringek¶
Ha egy szövegen belül be szeretnénk helyettesíteni bizonyos változók értékeit, akkor erre eddig a hagyományos string összefűzést használtuk.
1 2 | |
Ha nagyon sok behelyettesítendő értékünk van, akkor egy idő után ez a módszer fárasztóvá válhat.
Szerencsére az ECMAScript 6-os szabványban bevezették az úgynevezett template stringeket, amelyek segítségével a fenti kiíratás egyszerűbben megoldható.
A template stringeket backtick-ek (AltGr + 7) között adjuk meg. Használatuk során nem kell megszakítanunk a szövegünket a változók értékének behelyettesítésekor (ellentétben az összefűzéses módszernél), a behelyettesíteni kívánt kifejezés értékét egyszerűen ${ }-be írjuk.
1 2 | |
Előnyei:
- Jobb olvashatóság, nem kell megszakítani a szöveget
- Automatikusan támogatja az új sorokat (ahogy ezt láttuk fentebb is)
- Bármilyen JavaScript kifejezést használhatunk a template stringekben
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Kimenet
Customer: John Doe
Price: $100
Tax: $20
Total: $120
Calculation: 5 equals five