JavaScript aritmetik
- Previous page JS operators
- Next page JS assignment
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;
eller variabel:
instance
var x = a + b;
eller uttryck:
instance
var x = (7 + 8) * a;
Operatorer och operand
I aritmetiska operationer kallas numrenOperand.
(Operation som utförs mellan två operander)operatorDefinition.
Operand | operator | Operand |
---|---|---|
7 | + | 8 |
Subtraktion
SubtraktionOperatorn (-
)Subtrahent.
var x = 7; var y = 8; var z = x - y;
Multiplication
MultiplicationOperatorn (*
)Multiplikator.
var x = 7; var y = 8; var z = x * y;
Koefficient
KoefficientOperatorn (%
)Returnerar resten av divisionen.
var x = 7; var y = 2; var z = x % y;
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.
Minskning
MinskningOperatorn (--
)Återkalla värde på numret.
var x = 7; x--; var z = x;
Potens
Potensoperatorn (**) lyfter den första operanden till potensen av den andra operanden.
instance
var x = 5; var z = x ** 2; // Resultat är 25
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
Operator precedence
Operator precedence (Operator precedence) describes the order of operations performed in arithmetic expressions.
instance
var x = 200 + 50 * 2;
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;
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;
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.
- Previous page JS operators
- Next page JS assignment