ECMAScript-yhteenlaskin

Useimmissa ohjelmointikielissä lisäyslaskutoimituslauseke (eli plus- tai miinusmerkki) on yleensä yksinkertaisin matemaattinen laskutoimituslauseke.

ECMAScriptissä lisäyslaskutoimituslauseke (eli plus- tai miinusmerkki) on monimutkaisin laskutoimituslauseke.

Lisäyslaskutoimituslauseke

Lisäyslaskutoimituslausekkeen merkki on plusmerkki (+):

var iResult = 1 + 2

Kuten monien laskutoimituslausekkeiden kanssa, ECMAScriptissä lisäyslaskutoimituksella on myös joitakin erityisiä käyttäytymismalleja käsiteltäessä erityisiä arvoja:

  • Jos jokin laskutoimitustulos on NaN, tulos on NaN.
  • -Infinity lisättynä -Infinity:lle, tuloksena on -Infinity.
  • Infinity lisättynä -Infinity:lle, tuloksena on NaN.
  • +0 lisättynä +0, tulos on +0.
  • -0 lisättynä +0, tulos on +0.
  • -0 lisättynä -0, tulos on -0.

Jos jokin laskutoimitustulos on merkkijono, käytetään seuraavia sääntöjä:

  • Jos molemmat laskutoimitustulot ovat merkkijonoja, toinen merkkijono liitetään ensimmäiseen.
  • Jos vain yksi laskutoimitustulos on merkkijono, muunnetaan toinen argumentti merkkijonoksi, ja tulos on kahden merkkijonon yhdistäminen.

Esimerkiksi:

var result = 5 + 5;		// Kaksi lukua
alert(result);		// Tulostaa "10"
var result2 = 5 + "5";		// Yksi luku ja yksi merkkijono
alert(result2);		// Tulostaa "55"

Tämä koodi selittää lisäyslaskutoimitusoperaattorin kahden eri模式的 välisen eron. Normaalisti 5+5 on 10 (alkuperäinen arvo), kuten yllä olevissa kahdessa rivissä näkyy. Jos kuitenkin yksi argumentti muutetaan merkkijonoksi "5", tulos muuttuu "55" (alkuperäinen merkkijonoarvo), koska toinen argumentti muutetaan myös merkkijonoksi.

Huomautus:Välttääksesi JavaScriptissä yleisen virheen, tarkista tarkasti operaattorin argumenttien tyyppi lisäyslaskutoimituksen käytössä.

Vähennyslaskutoimitusoperaattori

Vähennyslaskutoimitusoperaattori (-) on myös yleinen operaattori:

var iResult = 2 - 1;

Kuten lisäyslaskutoimitusoperaattorin tapauksessa, vähennyslaskutoimitusoperaattorilla on myös joitakin erityisiä käyttäytymismalleja erityisarvojen käsittelyssä:

  • Jos jokin laskutoimitustulos on NaN, tulos on NaN.
  • Infinity vähennettynä Infinity, tulos on NaN.
  • -Infinity vähennettynä -Infinity, tulos on NaN.
  • Infinity vähennettynä -Infinity, tulos on Infinity.
  • -Infinity vähennettynä Infinity, tulos on -Infinity.
  • +0 vähennettynä +0, tulos on +0.
  • -0 vähennettynä -0, tulos on -0.
  • +0 vähennettynä -0, tulos on +0.
  • Jos jokin laskutoimitustulos ei ole luku, tulos on NaN.

Huomautus:Jos kaikki laskutoimitustulot ovat lukuja, suoritetaan tavallinen vähennyslasku ja palautetaan tulos.