Perustietotyypit
Javascripti on dynaamisesti tyypitetty kieli, eli muuttujille ei tarvitse kiinnittää tyyppiä vaan niihin voi sijoittaa minkä tahansa tyyppistä tietoa.
Käydään läpi Javascriptin yleisimmin käytetyt tietotyypit.
Numerot
Monissa muissa kielissä on erilliset tietotyypit kokonaisluvuille ja liukuluvuille (desimaaliluvuille).
Javascriptissä on luvuille vain yksi tyyppi number
, jolla voidaan esittää positiiviset ja negatiiviset
kokonaisluvut sekä liukuluvut. Tästä on sekä hyötyä että haittaa.
Lukujen käsittely on helppoa, koska niitä ei tarvitse muutella muodosta toiseen, mutta
esimerkiksi desimaalilukujen tarkkuus voi kärsiä.
> 0.1 + 0.2
0.30000000000000004
> 9999999999999999
10000000000000000
Merkkijonot
Merkkijonojen tyyppi on string
. Merkkijono on joukko peräkkäisiä merkkejä. Javascriptissä
merkkijonot koostuvat Unicode-merkeistä, eli voivat sisältää käytännössä mitä tahansa merkkejä.
Merkkijonot kirjoitetaan joko kaksoislainausmerkkien "
tai yksöislainausmerkkien '
väliin.
Javascriptissä näillä ei ole eroa, kuten joissain muissa kielissä. Kahdet eri lainausmerkit ovat
kuitenkin hyödylliset, jos halutaan määritellä merkkijono, jossa on lainausmerkkejä.
Merkkijonolla on aina pituus, eli merkkien määrä. Merkkijono voi olla myös tyhjä, eli merkkijono, jonka pituus on nolla.
"www-ohjelmointi-kurssi"
'Lorem ipsum dolor sit amet...'
'Pekka sanoi: "Lorem ipsum"'
'Jack O\'Neil sanoi: "Moi!"'
"42"
'' // Tyhjä merkkijono
“Takakeno”, eli \
on erikoismerkki, jolla voidaan toisaalta merkitä erikoismerkkejä ja toisaalta
riisua joiltain erikoismerkeiltä niiden erityismerkitys. Esimerkiksi '\''
tarkoittaa samaa
merkkijonoa kuin "'"
. Yksöishipsukalta on siis riisuttu sen erityismerkitys (merkkijonon lopetus).
Totuusarvot
Loogisilla väittämillä ja vertailuilla on totuusarvo, jonka tyyppi on boolean
. Totuusarvo on
joko tosi, eli true
tai epätosi, eli false
.
1 + 2 < 4
true
2 === 3
false
Erikoisarvot
Javascriptissä on lisäksi kaksi erityistä arvoa, jotka molemmat tarkoittavat yleensä
tilannetta, jossa muuttujalla ei ole arvoa. Näistä undefined
tulee yleensä tilanteessa,
jossa tarkastellaan muuttujaa, jolle ei ole annettu arvoa. Toinen, eli null
on
yleensä “tyhjä” arvo, jonka ohjelmoija itse on antanut muuttujalle.
Objektit
Javascriptissä lähes kaikki käsiteltävät asiat ovat jonkinlaisia objekteja (object
). Objekteja on helppo
tehdä itse aaltosuljemerkinnällä {}
. Javascriptissä objektit ovat avain–arvo -pareja, joissa
avaimet ovat merkkijonoja ja arvot mitä tahansa Javascriptin tietotyyppejä. Vaikka objekteja.
Javascriptin dynaamisuus näkyy myös siinä, että objektiin voi laittaa mitä tahansa arvoja ja niitä voi luoda aina tarpeen mukaan välittämättä tiedon tyypistä.
{
'avain': 'arvo',
'luku': 42,
'totuus': true,
'objekti': {'joo': 'jee'}
}
Arrayt
Javascriptissä, kuten monissa muissakin kielissä voi tietoa tallettaa myös järjestetyiksi
jonoiksi, joiden tyyppi on array
. Array esitetään hakasulkeiden avulla ja jonon
alkiot erotetaan toisistaan pilkulla. Array-rakenteeseen voi tallettaa mitä tahansa
tietoa. Toisin kuin vahvasti tyypitetyissä kielissä, kuten Javassa tai C++:ssa, Javascriptissä
arrayn alkioiden tyypillä ei ole väliä.
Arraylla on aina pituus. Pituus voi olla myös nolla, jolloin array on tyhjä.
[1,2,3,4]
['Pekka', 'Jussi', 'Maija']
[1, 'Timo', true, null, {'joo': 'ei'}]
[] // Tyhjä array