Оператор присваивания (=) присваивает значение переменной:
let x = 10;Попробуйте сами →
<!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;Попробуйте сами →
<!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>
Оператор сложения (+) добавляет числа:
let x = 5;
let y = 2;
let z = x + y;Попробуйте сами →
<!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>
Оператор умножения (*) умножает числа:
let x = 5;
let y = 2;
let z = x * y;Попробуйте сами →
<!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>
Существуют различные типы операторов JavaScript:
Арифметические операторы
Операторы присваивания
Операторы сравнения
Строковые операторы
Логические операторы
Побитовые операторы
Тернарные операторы
Типовые операторы
Арифметические операторы используются для выполнения арифметических операций с числами:
let a = 3;
let x = (100 + 50) * a;Попробуйте сами →
<!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>
Добавление
Вычитание
Умножение
Возведение в степень (ES2016)
Разделение
Модуль (остаток деления)
Приращение
Декремент
Арифметические операторы полностью описаны в Глава JS-арифметика.
Операторы присваивания присваивают значения переменным JavaScript.
Оператор сложения (+=) добавляет значение к переменной.
let x = 10;
x += 5;Попробуйте сами →
<!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 |
Операторы присваивания полностью описаны в разделе . Глава «Назначение JS».
равно
равное значение и равный тип
не равный
не равное значение или не равный тип
больше чем
меньше, чем
больше или равно
меньше или равно
тернарный оператор
Операторы сравнения полностью описаны в разделе . Глава «Сравнение JS».
Все приведенные выше операторы сравнения также можно использовать со строками:
let text1 = "A";
let text2 = "B";
let result = text1 < text2;Попробуйте сами →
<!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>
Обратите внимание, что строки сравниваются в алфавитном порядке:
let text1 = "20";
let text2 = "5";
let result = text1 < text2;Попробуйте сами →
<!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>
+ также можно использовать для добавления (объединения) строк:
let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;Попробуйте сами →
<!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>
Оператор присваивания += также можно использовать для добавления (объединения) строк:
let text1 = "What a very ";
text1 += "nice day";Результатом text1 будет:
What a very nice dayПопробуйте сами →
<!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>
При использовании со строками оператор + называется оператором конкатенации.
Добавление двух чисел вернет сумму, но добавление числа и строки вернет строку:
let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;Результатом x, y и z будет:
10
55
Hello5
Попробуйте сами →
<!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>
Если вы добавите число и строку, результатом будет строка!
логичный и
логичный или
логично нет
Логические операторы полностью описаны в . Глава «Сравнение JS».
Возвращает тип переменной
Возвращает true, если объект является экземпляром типа объекта.
Операторы типов полностью описаны в главе Преобразование типов JS.
Битовые операторы работают с 32-битными числами.
Любой числовой операнд в операции преобразуется в 32-битное число. Результат преобразуется обратно в число JavaScript.
| 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 |
В приведенных выше примерах используются 4-битные беззнаковые примеры. Но JavaScript использует 32-битные числа со знаком.
По этой причине в JavaScript ~ 5 не вернет 10. Оно вернет -6.
~00000000000000000000000000000101 вернет 1111111111111111111111111111111010
Побитовые операторы полностью описаны в JS. Побитовая глава.