Operátor přiřazení (=
) přiřadí hodnotu proměnné:
let x = 10;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Operators</h1>
<h2>The = Operator</h2>
<p id="demo"></p>
<script>
let x = 10;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
// Assign the value 5 to x
let x = 5;
// Assign the value 2 to y
let y = 2;
// Assign the value x + y to z:
let z = x + y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Operators</h1>
<h2>The Assignment (=) Operator</h2>
<p id="demo"></p>
<script>
// Assign the value 5 to x
let x = 5;
// Assign the value 2 to y
let y = 2;
// Assign the value x + y to z
let z = x + y;
// Display z
document.getElementById("demo").innerHTML = "The sum of x + y is: " + z;
</script>
</body>
</html>
Operátor přidání (+
) přidává čísla:
let x = 5;
let y = 2;
let z = x + y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The + Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x + y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Operátor násobení (*
) násobí čísla:
let x = 5;
let y = 2;
let z = x * y;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The * Operator</h2>
<p id="demo"></p>
<script>
let x = 5;
let y = 2;
let z = x * y;
document.getElementById("demo").innerHTML = z;
</script>
</body>
</html>
Existují různé typy JavaScriptových operátorů:
Aritmetické operátory
Operátoři přiřazení
Porovnávací operátory
Řetězcové operátory
Logické operátory
Bitové operátory
Ternární operátoři
Typ Operátoři
Aritmetické operátory se používají k provádění aritmetiky na číslech:
let a = 3;
let x = (100 + 50) * a;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>Arithmetic Operations</h2>
<p>A typical arithmetic operation takes two numbers (or expressions) and produces a new number.</p>
<p id="demo"></p>
<script>
let a = 3;
let x = (100 + 50) * a;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Přidání
Odčítání
Násobení
Umocnění (ES2016)
Divize
Modul (zbytek divize)
Přírůstek
Dekrementovat
Aritmetické operátory jsou plně popsány v JS Aritmetikakapitola.
Operátory přiřazení přiřazují hodnoty proměnným JavaScriptu.
Operátor přiřazení přidání (+=
) přidá hodnotu do proměnné.
let x = 10;
x += 5;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arithmetic</h1>
<h2>The += Operator</h2>
<p id="demo"></p>
<script>
var x = 10;
x += 5;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Operator | Example | Same As |
---|---|---|
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
**= | x **= y | x = x ** y |
Operátory přiřazení jsou plně popsány v Kapitola Přiřazení JS.
rovná
stejná hodnota a stejný typ
ne rovné
nemá stejnou hodnotu nebo není stejný typ
větší než
méně než
větší nebo rovno
menší nebo rovno
ternární operátor
Porovnávací operátory jsou plně popsány v JS Srovnáníkapitola.
Všechny výše uvedené porovnávací operátory lze také použít pro řetězce:
let text1 = "A";
let text2 = "B";
let result = text1 < text2;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Operators</h1>
<p>All conditional operators can be used on both numbers and strings.</p>
<p id="demo"></p>
<script>
let text1 = "A";
let text2 = "B";
let result = text1 < text2;
document.getElementById("demo").innerHTML = "Is A less than B? " + result;
</script>
</body>
</html>
Všimněte si, že řetězce jsou porovnávány podle abecedy:
let text1 = "20";
let text2 = "5";
let result = text1 < text2;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Operators</h1>
<p>Note that strings are compared alphabetically:</p>
<p id="demo"></p>
<script>
let text1 = "20";
let text2 = "5";
let result = text1 < text2;
document.getElementById("demo").innerHTML = "Is 20 less than 5? " + result;
</script>
</body>
</html>
+
lze také použít k přidání (zřetězení) řetězců:
let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Operators</h1>
<h2>The + Operator</h2>
<p>The + operator concatenates (adds) strings.</p>
<p id="demo"></p>
<script>
let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;
document.getElementById("demo").innerHTML = text3;
</script>
</body>
</html>
Operátor přiřazení +=
lze také použít k přidání (zřetězení) řetězců:
let text1 = "What a very ";
text1 += "nice day";
Výsledkem textu1 bude:
What a very nice day
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Operators</h1>
<h2>The += Operator</h2>
<p>The assignment operator += can concatenate strings.</p>
<p id="demo"></p>
<script>
let text1 = "What a very ";
text1 += "nice day";
document.getElementById("demo").innerHTML = text1;
</script>
</body>
</html>
Při použití na řetězcích se operátor + nazývá operátor zřetězení.
Přidání dvou čísel vrátí součet, ale přidání čísla a řetězce vrátí řetězec:
let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;
Výsledek x, y a z bude:
10
55
Hello5
Zkuste to sami →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Operators</h1>
<h2>The + Operator</h2>
<p>Adding a number and a string, returns a string.</p>
<p id="demo"></p>
<script>
let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;
document.getElementById("demo").innerHTML =
x + "<br>" + y + "<br>" + z;
</script>
</body>
</html>
Pokud přidáte číslo a řetězec, výsledkem bude řetězec!
logické a
logické popř
logické ne
Logické operátory jsou plně popsány v JS Srovnáníkapitola.
Vrátí typ proměnné
Vrátí hodnotu true, pokud je objekt instancí typu objektu
Operátory typu jsou plně popsány v kapitole Konverze typu JS.
Bitové operátory pracují na 32bitových číslech.
Jakýkoli číselný operand v operaci je převeden na 32bitové číslo. Výsledek je převeden zpět na číslo JavaScriptu.
Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | left shift | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | right shift | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | unsigned right shift | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
Výše uvedené příklady používají 4bitové příklady bez znaménka. JavaScript však používá 32bitová čísla se znaménkem.
Z tohoto důvodu v JavaScriptu ~ 5 nevrátí 10. Vrátí -6.
~000000000000000000000000000101 se vrátí 1111111111111111111111111111010
Bitové operátory jsou plně popsány v JS Bitověkapitola.