Operátoři JavaScriptu


Obsah

    Zobrazit obsah

Operátor přidání + přidává čísla:

Operátor přiřazení = přiřadí hodnotu proměnné.


Přiřazení JavaScriptu

Operátor přiřazení (=) přiřadí hodnotu proměnné:

Příklady zadání

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>

Přidání JavaScriptu

Operátor přidání (+) přidává čísla:

Přidávání

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>

Násobení JavaScriptu

Operátor násobení (*) násobí čísla:

Násobení

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>

Typy JavaScriptových operátorů

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


JavaScriptové aritmetické operátory

Aritmetické operátory se používají k provádění aritmetiky na číslech:

Příklad aritmetických operátorů

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

Poznámka

Aritmetické operátory jsou plně popsány v JS Aritmetikakapitola.



Operátoři přiřazení JavaScriptu

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é.

Úkol

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

Poznámka

Operátory přiřazení jsou plně popsány v Kapitola Přiřazení JS.


Porovnávací operátory JavaScriptu

==

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

Poznámka

Porovnávací operátory jsou plně popsány v JS Srovnáníkapitola.


Porovnání řetězců JavaScriptu

Všechny výše uvedené porovnávací operátory lze také použít pro řetězce:

Příklad

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:

Příklad

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>

Přidání řetězce JavaScript

+ lze také použít k přidání (zřetězení) řetězců:

Příklad

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ů:

Příklad

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>

Poznámka

Při použití na řetězcích se operátor + nazývá operátor zřetězení.


Přidávání řetězců a čísel

Přidání dvou čísel vrátí součet, ale přidání čísla a řetězce vrátí řetězec:

Příklad

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>

Poznámka

Pokud přidáte číslo a řetězec, výsledkem bude řetězec!


Logické operátory JavaScriptu

&&

logické a

||

logické popř

!

logické ne

Poznámka

Logické operátory jsou plně popsány v JS Srovnáníkapitola.


Operátoři typu JavaScript

typeof

Vrátí typ proměnné

instanceof

Vrátí hodnotu true, pokud je objekt instancí typu objektu

Poznámka

Operátory typu jsou plně popsány v kapitole Konverze typu JS.


Bitové operátory JavaScriptu

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.