[Sisällys] [Seuraava]

JavaScript-kielen operaattorit


Sijoitus-operaattorit

Operaattori Kuvaus
= Sijoitetaan arvo muuttujaan.
+= Lisätään arvo muuttujan arvoon ja sijoitetaan tulos muuttujaan.
-= Vähennetään arvo muuttujan arvosta ja sijoitetaan tulos muuttujaan.
*= Kerrotaan muuttujan arvo toisella arvolla ja sijoitetaan tulos muuttujaan.
/= Jaetaan muuttujan arvo toisella arvolla ja sijoitetaan tulos muuttujaan.
%= Lasketaan muuttujan arvon ja toisen arvon jakojäännös ja sijoitetaan tulos muuttujaan.


Aritmettiset operaattorit

Operaattori Kuvaus
+ Summaoperattori. Lasketaan numeroiden summa.
- Vähennyslaskuoperaattori. Lasketaan numeroiden erotus.
* Kertolaskuoperaattori. Lasketaan numeroiden tulo.
/ Jakolaskuoperaattori. Lasketaan numeroiden osamäärä.
% Jakojäännösoperaattori. Lasketaan numeroiden jakojäännös.
++ Lisäysoperaattori. Lisätään muuttujan arvoa yhdellä.
-- Vähennysoperaattori. Vähennetään muuttujan arvosta yksi.


Bittitason operaattorit

Operaattori Kuvaus
& Ja-operattori (and). Muutetaan luvut kokonaisluvuiksi (32-bit.) ja suoritetaan niiden välillä binäärilukujen ja-operaatio.
| Tai-operattori (or). Muutetaan luvut kokonaisluvuiksi (32-bit.) ja suoritetaan niiden välillä binäärilukujen tai-operaatio.
^ Poissulkeva tai-operattori (xor). Muutetaan luvut kokonaisluvuiksi (32-bit.) ja suoritetaan niiden välillä binäärilukujen poissulkeva tai-operaatio.
<< Bittien siirto vasemmalle. Muutetaan luvut kokonaisluvuiksi (32-bit.) ja "shiftataan" ensimmäisen argumentin bittejä vasemmalle toisen argumentin osoittama määrä. Oikealta vapautuvat bitit nollataan.
>>> Etumerkitön bittien siirto oikealle. Muutetaan luvut kokonaisluvuiksi (32-bit.) ja "shiftataan" ensimmäisen argumentin bittejä oikealle toisen argumentin osoittama määrä. Vasemmalta vapautuvat bitit nollataan.
>> Etumerkillinen bittien siirto oikealle. Muutetaan luvut kokonaisluvuiksi (32-bit.) ja "shiftataan" ensimmäisen argumentin bittejä oikealle toisen argumentin osoittama määrä. Vasemmalta vapautuviin bitteihin monistetaan alkuperäinen eniten merkitsevän bitin arvo.


Loogiset operaattorit

Operaattori Kuvaus
&& Ja-operattori (and). Suoritetaan totuusarvoille looginen ja-operaatio. Jos ensimmäinen ehto ei toteudu, toista ehtoa ei testata.
|| Tai-operattori (or). Suoritetaan totuusarvoille looginen tai-operaatio. Jos ensimmäinen ehto toteutuu, toista ei suoriteta.
^ Poissulkeva tai-operattori (xor). Suoritetaan totuusarvoille looginen poissulkeva tai-operaatio. Molemmat ehdot testataan aina.


Vertailuoperaattorit

Operaattori Kuvaus
== Yhtäsuuruus-operaattori. Palautetaan tosi jos argumentit ovat yhtä suuret.
!= Erisuuruus-operaattori. Palautetaan tosi jos argumentit ovat erisuuret.
< Pienempi kuin-operaattori. Palautetaan tosi jos arg1 on pienempi kuin arg2.
> Suurempi kuin-operaattori. Palautetaan tosi jos arg1 on suurempi kuin arg2.
<= Pienempi tai yhtäsuuri kuin-operaattori. Palautetaan tosi jos arg1 on pienempi tai yhtäsuurin kuin arg2.
>= Suurempi tai yhtäsuurikuin kuin-operaattori. Palautetaan tosi jos arg1 on suurempi tai yhtäsuuri kuin arg2.


Merkkijonooperaattorit

Operaattori Kuvaus
+ Yhdistetään kaksi merkkijonoa.
+= Yhdistetään muuttujan sisältämään merkkijonoon toinen merkkijono ja sijoitetaan tulos muuttujaan.


Ehto-operaattori

Operaattori Kuvaus
ehto ? lauseke1 : lauseke2 Jos ehto on tosi, suritetaan lauseke1, muutoin lauseke2.


typeof-operaattori

Operaattori palauttaa merkkijonona kyseisen lausekkeen tyypin. Merkkijono on jokin seuraavista:

"undefined"
"object"
"function"
"number"
"boolean"
"string"

Syntaksi

typeof lauseke

void-operaattori

Operaattori ottaa parametrina lausekkeen, suorittaa sen ja palauttaa undefined.

Syntaksi

void lauseke

new-operaattori

Tämä operaattori luo instanssin käyttäjän määrittelemästä objektista.

Syntaksi

obj_nimi = new obj_tyyppi ( [param] [..., param])


delete-operaattori

Operaattori tuohoaa parametrina annetun objektin.

Syntaksi

delete objekti


JavaScript-objektin luominen

  1. Määritellään funktio, jonka nimenä on halutun objektin tyyppi. Tässä funktiossa annetaan this-muuttujan ominaisuuksille jotkin alkuarvot.
  2. Metodifunktiot luodaan siten, että ensin luodaan funktio, joka käsittelee this-objektia halutulla tavalla. Tämän funktion nimi asetetaan sitten objektin määrittelevässä funktiossa halutun ominaisuuden nimen arvoksi.
  3. Luodaan objektista instanssi new-operaattorilla.

Esimerkki

Luodaan objekti auto, joka sisältää auton valmistusvuoden, merkin ja ajokilometrit. Lisäksi objektilla on metodifunktio ika(), joka ottaa argumenttina nykyisen vuosiluvun ja palauttaa auton iän.

/* Metodifunktio ika() */ function ika(vuosiluku) { return vuosiluku - this.vuosi; } /* Objektin tyyppim&auml;&auml;rittely */ function auto(vuosi, merkki, ajettu) { this.vuosi = vuosi this.merkki = merkki this.ajettu = ajettu this.ika = ika; }

Luodaan objektista instanssi muuttujaan kaara ja asetetaan auton ikä vuonna 1997 muuttujaan t:

kaara = new auto(1995, "Lada", 2300) t = kaara.ika(1997)

Lisää tietoja kohdassa JavaScriptin objektit.


Operaattorien presedenssi

Operaattorit presedenssin mukaisesti pienimmästä suurimpaan:

  1. Pilkku-operaattori ( , )
  2. Sijoitus-operaattorit (= += -= *= /= %=)
  3. Ehto-operaattori ( ? : )
  4. Looginen Tai ( || )
  5. Looginen Ja ( && )
  6. Binäärinen Tai ( | )
  7. Binäärinen Poissulkeva Tai ( ^ )
  8. Binäärinen Ja ( & )
  9. Yhtäsuuruus ( == != )
  10. Vertailu ( < > <= >= )
  11. Shiftaus ( << >> >>> )
  12. Plus ja miinus ( + - )
  13. Kerto/Jako/Modulus ( * / % )
  14. Negaatio / Inkrementointi ( ! - -- ++ )
  15. Kutsu / Jäsen ( () [] )


Simo.Sarkka@iki.fi