Resum
Els operadors aritmètics prenen valors numèrics (poden ser tant literals com ser variables) com a operands seus i retornen un valor numèric únic. Els operadors aritmètics estàndards són la suma (+), la resta (-), la multiplicació (*), i la divisió (/).
Suma (+)
L'operador Suma produeix la suma dels operands numèrics o de la concatenació de cadenes.
Sintaxi
Operador: x + y
Exemples
// Nombre + Nombre -> suma 1 + 2 // 3 // Booleà + Nombre -> suma true + 1 // 2 // Booleà + Booleà -> suma false + false // 0 // Nombre + String -> concatenació 5 + "foo" // "5foo" // String + Booleà -> concatenació "foo" + false // "foofalse" // String + String -> concatenació "foo" + "bar" // "foobar"
Resta (-)
L'operador resta produeix la resta de dos operands, produint la seva diferència.
Sintaxi
Operador: x - y
Exemples
5 - 3 // 2 3 - 5 // -2 "foo" - 3 // NaN
Divisió (/)
L'operador divisió produeix el quocient dels seus operands on el operand de l'esquerra és el dividend, i l'operand de la dreta és el divisor.
Sintaxi
Operador: x / y
Exemples
1 / 2 // retorna 0.5 a JavaScript 1 / 2 // retorna 0 in Java // (cap dels nombres és explícitament n nombre de coma flotant) 1.0 / 2.0 // retorna 0.5 a JavaScript i Java 2.0 / 0 // retorna Infinity a JavaScript 2.0 / 0.0 // també retorna Infinity 2.0 / -0.0 // retorna -Infinity a JavaScript
Multiplicació (*)
L'operador multiplicació produeix el producte dels operands.
Sintaxi
Operador: x * y
Exemples
2 * 2 // 4 -2 * 2 // -4 Infinity * 0 // NaN Infinity * Infinity // Infinity "foo" * 2 // NaN
Mòdul (%)
L'operador mòdul retorna el mòdul del primer operand amb el segon, això és, var1
modulo var2
en la sentència prèvia, on var1
i var2
són variables. La funció mòdul és la resta entera de dividir var1
per var2
. Hi ha una proposta per a implementar un operador mòdul real en una futura versió de l'ECMAScript.
Sintaxi
Operador: var1 % var2
Exemples
12 % 5 // 2 -1 % 2 // -1 NaN % 2 // NaN
Increment (++)
L'operador increment incrementa (afegeix un) al seu operand i retorna un valor.
- Emprat com a sufix, és a dir, amb l'operador després de l'operand (per exemple: x++), retorna el valor de l'operand abans d'incrementar-lo.
- Emprat com a prefix, és a dir, amb l'operador precedint l'operand (per exemple: ++x), retorna el valor de l'operand després d'incrementar-lo.
Sintaxi
Operador: x++ or ++x
Exemples
// Sufix var x = 3; y = x++; // y = 3, x = 4 // Prefix var a = 2; b = ++a; // a = 3, b = 3
Decrement (--)
L'operador decrement decrementa (resta un) al seu operand i retorna el seu valor.
- Emprat com a sufix, és a dir, amb l'operador després de l'operand (per exemple: x--), retorna el valor de l'operand abans de decrementar-lo.
- Emprat com a prefix, és a dir, amb l'operador precedint l'operand (per exemple: --x), retorna el valor de l'operand després de decrementar-lo.
Sintaxi
Operador: x-- or --x
Exemples
// Sufix var x = 3; y = x--; // y = 3, x = 2 // Prefix var a = 2; b = --a; // a = 1, b = 1
Negació unària (-)
L'operador de negació unària precedeix el seu operand i el nega.
Sintaxi
Operator: -x
Exemples
var x = 3; y = -x; // y = -3, x = 3
Operador unari de conversió a nombre (+)
L'operador unari de conversió a nombre precedeix el seu operand i intenta convertir-lo en un nombre si no ho és ja. Tot i que l'operand de negació unària també pot convertir no-nombres, l'operador de conversió és el mètode més ràpid i recomanat per a convertir quelcom a un nombre ja que no realitza cap altra operació al nombre. Pot convertir cadenes de caràcters representant sencers i nombres en coma flotant, així com els valors true
, false
i null
. Quant a nombres sencers, tant la notació decimal com la hexadecimal (denotada amb el prefixe "0x") estàn suportades. Els nombres negatius també estàn suportats (tot i que no per a hexadecimals). Si no pot interpretar un valor determinat l'operador retornarà NaN.
Sintaxi
Operador: +x
Exemples
+3 // 3 +"3" // 3 +true // 1 +false // 0 +null // 0
Especificacions
Compatibilitat amb navegadors
Característica | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Característica | Android | Chrome per Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Suport bàsic | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |