Johdatus ohjelmointiin

Sorakuilu

Osa 11, JavaScript merkkijonot

Merkkijonojen käsittely on eräs yleisimmin tehtävistä toimenpiteistä kaikissa ohjelmointikielissä.

Useimmissa kielissä on runsaasti merkkijonojen käsittelyyn ja muokkaamiseen liittyviä metodeja. JavaScriptissä merkkijonoa edustaa String-tyyppinen olio. Alla on merkkijonojen muodosta ja luomisesta sekä joitakin tyypillisiä metodeja.

Muoto

Merkkijono voidaan luoda eri tavoin:

Alkeistyypit:
const string1 = "Merkkijono";
const string2 = 'Toinen merkkijono';
const string3 = `Vielä yksi merkkijono`;

Oliot:
const string4 = new String("merkkijono-olio");

Lue yksi merkki merkkijonosta

charAt()

return 'kissa'.charAt(1) // palauttaa "i"

Lue samalla tavalla kuin taulukkoa

return 'kissa'[1] // returns "i"

Merkkijonojen vertailu

let a = 'a'
let b = 'b'
if (a < b) { // true
  console.log(a + ' on pienempi kuin ' + b)
} else if (a > b) {
  console.log(a + ' on suurempi kuin ' + b)
} else {
  console.log(a + ' and ' + b + ' ovat samat.')
}  

Sama merkki, kirjainkoko eri

function onSama(str1, str2)
{
    return str1.toUpperCase() === str2.toUpperCase()
}
  
 

JavaScript alkeistyyppi (primitive) toimii eri tavalla kuin olio (object)

Esimerkki:

let s_prim = 'foo'
let s_obj = new String(s_prim)

console.log(typeof s_prim) // tulostaa "string"
console.log(typeof s_obj)  // tulostaa "object"

Esimerkki

let s1 = '2 + 2'              // luo alkeistyypin
let s2 = new String('2 + 2')  // luo olion
console.log(eval(s1))         // palauttaa numeron 4
console.log(eval(s2))         // palauttaa merkkijonon "2 + 2"
 

Pitkät merkkijonot

Joskus koodissa on pitkiä merkkijonoja. Niitä voi käsitellä kahdella tavalla:

+ -operaattorilla

let pitka = "Tämä on hyvin pitkä merkkijono, joka pitää " +
                 "jakaa useammalle riville " +
                 "jotta siitä tulee luettava."
				 

\-merkillä

let pitka = "Tämä on hyvin pitkä merkkijono, joka pitää " \
                 "jakaa useammalle riville " \
                 "jotta siitä tulee luettava."

 

Merkkijono-metodit

Luettelo metodeista