JavaScript aritmetik

Typiska situationer för att hantera数值 är aritmetik.

JavaScript aritmetiska operatorer

Aritmetiska operatorer utför aritmetiska operationer på numeriska värden (text eller variabel).

operator description
+ Addition
- Subtraktion
* Multiplication
** Potens (ES2016
/ Division
% Koefficient
++ Ökning
-- Minskning

Aritmetiska operatorer

Typiska aritmetiska operationer manipulerar två numeriska värden.

Dessa två tal kan vara litterala:

instance

var x = 7 + 8;

try it yourself

eller variabel:

instance

var x = a + b;

try it yourself

eller uttryck:

instance

var x = (7 + 8) * a;

try it yourself

Operatorer och operand

I aritmetiska operationer kallas numrenOperand.

(Operation som utförs mellan två operander)operatorDefinition.

Operand operator Operand
7 + 8

Addition

AdditionOperatorn (+)Addend:

var x = 7;
var y = 8;
var z = x + y; 

try it yourself

Subtraktion

SubtraktionOperatorn (-)Subtrahent.

var x = 7;
var y = 8;
var z = x - y; 

try it yourself

Multiplication

MultiplicationOperatorn (*)Multiplikator.

var x = 7;
var y = 8;
var z = x * y; 

try it yourself

Division

DivisionOperatorn (/)Divisor.

var x = 7;
var y = 2;
var z = x / y; 

try it yourself

Koefficient

KoefficientOperatorn (%)Returnerar resten av divisionen.

var x = 7;
var y = 2;
var z = x % y; 

try it yourself

Kommentar:I aritmetiken ger division av två heltal kvot och rest.

Kommentar:I matematiken är resten av divisionen av två heltal resten av aritmetisk division.

Ökning

ÖkningOperatorn (++)Öka värde på numret.

var x = 7;
x++;
var z = x;

try it yourself

Minskning

MinskningOperatorn (--)Återkalla värde på numret.

var x = 7;
x--;
var z = x; 

try it yourself

Potens

Potensoperatorn (**) lyfter den första operanden till potensen av den andra operanden.

instance

var x = 5;
var z = x ** 2;          // Resultat är 25

try it yourself

The result of x ** y is the same as Math.pow(x,y):

instance

var x = 5;
var z = Math.pow(x,2);   // Result is 25

try it yourself

Operator precedence

Operator precedence (Operator precedence) describes the order of operations performed in arithmetic expressions.

instance

var x = 200 + 50 * 2;

try it yourself

What is the result of 250 * 2 or 200 + 100 in the previous example?

Is addition or multiplication given priority?

In traditional school mathematics, multiplication is given priority.

multiplication(*)and division(%)and addition(+)and subtraction(-)has a higherprecedence.

At the same time, (just like in school mathematics) you can change the precedence by using parentheses:

instance

var x = (200 + 50) * 2;

try it yourself

When using parentheses, the operators within the parentheses are calculated first.

When multiple operators have the same precedence (such as addition and subtraction), their calculations are performed from left to right:

instance

var x = 200 + 50 - 2;

try it yourself

JavaScript operator precedence values

value operator description instance
20 ( ) expression grouping (3 + 4)
       
19 . member person.name
19 [] member person["name"]
19 () function call myFunction()
19 new create new Date()
       
17 ++ postfix increment i++
17 -- postfix decrement i--
       
16 ++ prefix increment ++i
16 -- prefix decrement --i
16 ! Logical negation !(x==y)
16 typeof type typeof x
       
15 ** power (ES7) 10 ** 2
       
14 * multiply 10 * 5
14 / divide 10 / 5
14 % modulus division 10 % 5
       
13 + add 10 + 5
13 - subtract 10 - 5
       
12 << left shift x << 2
12 >> right shift x >> 2
12 >>> right shift (unsigned) x >>> 2
       
11 < less x < y
11 <= less than or equal x <= y
11 > greater x > y
11 >= greater than or equal x >= y
11 in property in object "PI" in Math
11 instanceof instance of object instanceof Array
       
10 == equal x == y
10 === strictly equal x === y
10 != Inequality x != y
10 !== Strict inequality x !== y
       
9 & Bitwise AND x & y
8 ^ Bitwise XOR x ^ y
7 | Bitwise OR x | y
6 && Logical conjunction x && y
5 || Logical negation x || y
4 ? : Conditional ? "Yes" : "No"
       
3 = Assignment x = y
3 += Assignment x += y
3 -= Assignment x -= y
3 *= Assignment x *= y
3 %= Assignment x %= y
3 <<= Assignment x <<= y
3 >>= Assignment x >>= y
3 >>>= Assignment x >>>= y
3 &= Assignment x &= y
3 ^= Assignment x ^= y
3 |= Assignment x |= y
       
2 yield Pause function yield x
1 , Comma 7, 8

Note:Light red indicates experimental or recommended technology (ECMASScript 2016 or ES7)

Hint:The expression in parentheses is fully evaluated before its value is used in the rest of the expression.