diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
| commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
| tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/javascript/reference/operators/index.html | |
| parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
| download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip | |
initial commit
Diffstat (limited to 'files/ru/web/javascript/reference/operators/index.html')
| -rw-r--r-- | files/ru/web/javascript/reference/operators/index.html | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/operators/index.html b/files/ru/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..eff74ba579 --- /dev/null +++ b/files/ru/web/javascript/reference/operators/index.html @@ -0,0 +1,291 @@ +--- +title: Выражения и операторы +slug: Web/JavaScript/Reference/Operators +tags: + - JavaScript + - Operators +translation_of: Web/JavaScript/Reference/Operators +--- +<div>{{jsSidebar("Operators")}}</div> + +<p>Эта глава описывает все операторы, выражения и ключевые слова языка JavaScript.</p> + +<h2 id="Expressions_and_operators_by_category" name="Expressions_and_operators_by_category">Выражения и операторы по категориям</h2> + +<p>Алфавитный список смотрите в боковой панели слева.</p> + +<h3 id="Primary_expressions" name="Primary_expressions">Первичные выражения</h3> + +<p>Базовые ключевые слова и общие выражения в JavaScript.</p> + +<dl> + <dt>{{jsxref("Operators/this", "this")}}</dt> + <dd>Ключевое слово <code>this</code> ссылается на контекст выполняемой функции.</dd> + <dt>{{jsxref("Operators/function", "function")}}</dt> + <dd>Ключевое слово <code>function</code> определяет выражение функции.</dd> + <dt>{{jsxref("Operators/class", "class")}}</dt> + <dd>Ключевое слово <code>class</code> определяет выражение класса.</dd> + <dt>{{jsxref("Operators/function*", "function*")}}</dt> + <dd>Ключевое слово <code>function*</code> (со звёздочкой) определяет функцию-генератор.</dd> + <dt>{{jsxref("Operators/yield", "yield")}}</dt> + <dd>Пауза или продолжение выполнения функции-генератора.</dd> + <dt>{{jsxref("Operators/yield*", "yield*")}}</dt> + <dd>Делегирует выполнение другому генератору итерируемому объекту.</dd> + <dt>{{experimental_inline}} {{jsxref("Operators/async_function", "async function*")}}</dt> + <dd><code>async function</code> определяет выражение асинхронной функции.</dd> + <dt>{{experimental_inline}} {{jsxref("Operators/await", "await")}}</dt> + <dd>Пауза и продолжение выполнения асинхронной функции и ожидание <a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a> (результата выполнения) с результатом разрешено/отклонено.</dd> + <dt>{{jsxref("Global_Objects/Array", "[]")}}</dt> + <dd>Синтаксис создания инициализатора/литерала массива.</dd> + <dt>{{jsxref("Operators/Object_initializer", "{}")}}</dt> + <dd>Синтаксис создания инициализатора/литерала объекта</dd> + <dt>{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}</dt> + <dd>Синтаксис создания литерала регулярного выражения.</dd> + <dt>{{jsxref("Operators/Grouping", "( )")}}</dt> + <dd>Оператор группировки.</dd> +</dl> + +<h3 id="Left-hand-side_expressions" name="Left-hand-side_expressions">Левосторонние выражения</h3> + +<p>Значения слева являются назначением присваивания.</p> + +<dl> + <dt>{{jsxref("Operators/Property_accessors", "Доступ к свойству", "", 1)}}</dt> + <dd>Операторы доступа к членам предоставляют доступ к свойству или методу объекта<br> + (<code>object.property</code> и <code>object['property']</code>).</dd> + <dt>{{jsxref("Operators/new", "new")}}</dt> + <dd>Оператор <code>new</code> создаёт экземпляр объекта с использованием конструктора.</dd> + <dt><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a></dt> + <dd>Свойство <code>new.target</code> ссылается на конструктор или функцию, который был вызван через оператор {{jsxref("Operators/new", "new")}}.</dd> + <dt>{{jsxref("Operators/super", "super")}}</dt> + <dd>Ключевое слово <code>super</code> вызывает конструктор родительского класса.</dd> + <dt>{{jsxref("Operators/Spread_operator", "...obj")}}</dt> + <dd>Оператор распространения позволяет развернуть выражение в местах, где ожидается несколько аргументов (при вызове функций) или несколько элементов (при создании литералов массива).</dd> +</dl> + +<h3 id="Increment_and_decrement" name="Increment_and_decrement">Инкремент и декремент</h3> + +<p>Операторы постфиксного/префиксного инкремента и декремента.</p> + +<dl> + <dt>{{jsxref("Operators/Arithmetic_Operators", "A++", "#Increment")}}</dt> + <dd>Оператор постфиксного инкремента.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "A--", "#Decrement")}}</dt> + <dd>Оператор постфиксного декремента.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "++A", "#Increment")}}</dt> + <dd>Оператор префиксного инкремента. <em>(Значение переменной, сначала, увеличивается на 1, а затем используется в выражении)</em></dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "--A", "#Decrement")}}</dt> + <dd>Оператор префиксного декремента.</dd> +</dl> + +<h3 id="Unary_operators" name="Unary_operators">Унарные операторы</h3> + +<p>Унарные опарации — это операции с одним операндом.</p> + +<dl> + <dt>{{jsxref("Operators/delete", "delete")}}</dt> + <dd>Оператор <code>delete</code> удаляет свойство из объекта.</dd> + <dt>{{jsxref("Operators/void", "void")}}</dt> + <dd>Оператор <code>void</code> отбрасывает возвращаемое значение выражения.</dd> + <dt>{{jsxref("Operators/typeof", "typeof")}}</dt> + <dd>Оператор <code>typeof</code> определяет тип переданного объекта.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "+", "#Unary_plus")}}</dt> + <dd>Оператор унарного плюса преобразует свой операнд в тип {{jsxref("Global_Objects/Number", "Number")}}.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "-", "#Unary_negation")}}</dt> + <dd>Оператор унарного минуса преобразует свой операнд в тип {{jsxref("Global_Objects/Number", "Number")}}, а затем меняет его знак.</dd> + <dt>{{jsxref("Operators/Bitwise_Operators", "~", "#Bitwise_NOT")}}</dt> + <dd>Оператор побитового НЕ.</dd> + <dt>{{jsxref("Operators/Logical_Operators", "!", "#Logical_NOT")}}</dt> + <dd>Оператор логического НЕ.</dd> +</dl> + +<h3 id="Arithmetic_operators" name="Arithmetic_operators">Арифметические операторы</h3> + +<p>Арифметические операторы своими операндами принимают числовые значения (литерали или переменные) и возвращают одно числовое значение.</p> + +<dl> + <dt>{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}</dt> + <dd>Оператор сложения.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "-", "#Subtraction")}}</dt> + <dd>Оператор вычитания.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "/", "#Division")}}</dt> + <dd>Оператор деления.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "*", "#Multiplication")}}</dt> + <dd>Оператор умножения.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "%", "#Remainder")}}</dt> + <dd>Оператор взятия остатка от деления.</dd> + <dt>{{jsxref("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}</dt> + <dd>Оператор возведения в степень.</dd> +</dl> + +<h3 id="Relational_operators" name="Relational_operators">Реляционные операторы</h3> + +<p>Реляционные операторы (операторы отношения) сравнивают свои операнды и возвращают значение типа {{jsxref("Global_Objects/Boolean", "Boolean")}}, зависящее от того, был ли результат сравнения истинным или ложным.</p> + +<dl> + <dt>{{jsxref("Operators/in", "in")}}</dt> + <dd>Оператор <code>in</code> определяет, содержит ли объект указанное свойство.</dd> + <dt>{{jsxref("Operators/instanceof", "instanceof")}}</dt> + <dd>Оператор <code>instanceof</code> определяет, является ли объект экземпляром потомком Prototype (или экземпляром) другого объекта.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", "<", "#Less_than_operator")}}</dt> + <dd>Оператор меньше.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", ">", "#Greater_than_operator")}}</dt> + <dd>Оператор больше.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}</dt> + <dd>Оператор меньше или равно.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}</dt> + <dd>Оператор больше или равно.</dd> +</dl> + +<div class="note"> +<p><strong>Заметьте: =></strong> это не оператор. Это нотация для <a href="/ru/docs/Web/JavaScript/Reference/Functions/Arrow_functions">Стрелочных функций</a>.</p> +</div> + +<h3 id="Equality_operators" name="Equality_operators">Операторы равенства</h3> + +<p>Результат вычисления оператора равенства всегда имеет тип {{jsxref("Global_Objects/Boolean", "Boolean")}} и значение, зависящее от того, был ли результат проверки истинным или ложным.</p> + +<dl> + <dt>{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}}</dt> + <dd>Оператор проверки на равенство.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", "!=", "#Inequality")}}</dt> + <dd>Оператор проверки на неравенство.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}</dt> + <dd>Оператор проверки на идентичность.</dd> + <dt>{{jsxref("Operators/Comparison_Operators", "!==", "#Nonidentity")}}</dt> + <dd>Оператор проверки на неидентичность.</dd> +</dl> + +<h3 id="Bitwise_shift_operators" name="Bitwise_shift_operators">Операторы побитового сдвига</h3> + +<p>Операции для сдвига всех битов операнда.</p> + +<dl> + <dt>{{jsxref("Operators/Bitwise_Operators", "<<", "#Left_shift")}}</dt> + <dd>Оператор побитового сдвига влево.</dd> + <dt>{{jsxref("Operators/Bitwise_Operators", ">>", "#Right_shift")}}</dt> + <dd>Оператор знакового побитового сдвига вправо.</dd> + <dt>{{jsxref("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}</dt> + <dd>Оператор беззнакового побитового сдвига вправо.</dd> +</dl> + +<h3 id="Binary_bitwise_operators" name="Binary_bitwise_operators">Бинарные побитовые операторы</h3> + +<p>Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.</p> + +<dl> + <dt>{{jsxref("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}</dt> + <dd>Оператор побитового И.</dd> + <dt>{{jsxref("Operators/Bitwise_Operators", "|", "#Bitwise_OR")}}</dt> + <dd>Оператор побитового ИЛИ.</dd> + <dt>{{jsxref("Operators/Bitwise_Operators", "^", "#Bitwise_XOR")}}</dt> + <dd>Оператор побитового ИСКЛЮЧАЮЩЕГО ИЛИ.</dd> +</dl> + +<h3 id="Binary_logical_operators" name="Binary_logical_operators">Бинарные логические операторы</h3> + +<p>Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.</p> + +<dl> + <dt>{{jsxref("Operators/Logical_Operators", "&&", "#Logical_AND")}}</dt> + <dd>Оператор логического И.</dd> + <dt>{{jsxref("Operators/Logical_Operators", "||", "#Logical_OR")}}</dt> + <dd>Оператор логического ИЛИ.</dd> +</dl> + +<h3 id="Conditional_(ternary)_operator" name="Conditional_(ternary)_operator">Условный (тернарный) оператор</h3> + +<dl> + <dt>{{jsxref("Operators/Conditional_Operator", "(условие ? ifTrue : ifFalse)")}}</dt> + <dd>Условный оператор возвращает одно значение из двух данных в зависимости от логического значения условия.</dd> +</dl> + +<h3 id="Assignment_operators" name="Assignment_operators">Операторы присваивания</h3> + +<p>Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.</p> + +<dl> + <dt>{{jsxref("Operators/Assignment_Operators", "=", "#Assignment")}}</dt> + <dd>Оператор присваивания.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}</dt> + <dd>Оператор присваивания с умножением.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "/=", "#Division_assignment")}}</dt> + <dd>Оператор присваивания с делением.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "%=", "#Remainder_assignment")}}</dt> + <dd>Оператор присваивания с взятием остатка от деления.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "+=", "#Addition_assignment")}}</dt> + <dd>Оператор присваивания со сложением.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "-=", "#Subtraction_assignment")}}</dt> + <dd>Оператор присваивания с вычитанием.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "<<=", "#Left_shift_assignment")}}</dt> + <dd>Оператор присваивания со сдвигом влево.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", ">>=", "#Right_shift_assignment")}}</dt> + <dd>Оператор присваивания со знаковым сдвигом вправо.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}</dt> + <dd>Оператор присваивания с беззнаковым сдвигом вправо.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}</dt> + <dd>Оператор присваивания с побитовым И.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}</dt> + <dd>Оператор присваивания с побитовым ИСКЛЮЧАЮЩИМ ИЛИ.</dd> + <dt>{{jsxref("Operators/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}</dt> + <dd>Оператор присваивания с побитовым ИЛИ.</dd> + <dt>{{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}<br> + {{jsxref("Operators/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}</dt> + <dd>Деструктурирующее присваивание позволяет вам присваивать свойства массива или объекта переменным с использованием синтаксиса, очень похожего на объявление литералов массива или объекта.</dd> +</dl> + +<h3 id="Comma_operator" name="Comma_operator">Оператор запятая</h3> + +<dl> + <dt>{{jsxref("Operators/Comma_Operator", ",")}}</dt> + <dd>Оператор запятая позволяет вычислять несколько выражений в одном операторе и возвращает результат вычисления последнего выражения.</dd> + <dt> + <h3 id="Нестандартные_особенности">Нестандартные особенности</h3> + </dt> + <dt>{{non-standard_inline}} {{jsxref("Operators/Legacy_generator_function", "Legacy generator function", "", 1)}}</dt> + <dd>Ключевое слово <code>function</code> может быть использовано для определения устаревших функций-генераторов в одном выражении. Для того, чтобы сделать такую функцию, её тело должно содержать хотя бы одно выражение {{jsxref("Operators/yield", "yield")}}.</dd> + <dt>{{non-standard_inline}} {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}}</dt> + <dd>Синтаксис закрытого выражения для сокращённого написания простейших функций.</dd> + <dt>{{non-standard_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}</dt> + <dd>Упрощённый синтаксис создания массива.</dd> + <dt>{{non-standard_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}</dt> + <dd>Упрощённый синтаксис создания генератора.</dd> +</dl> + +<h2 id="Specifications" name="Specifications">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарии</th> + </tr> + <tr> + <td>{{SpecName('ES1', '#sec-11', 'Expressions')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Изначальное определение.</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-11', 'Expressions')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td> + <td>{{Spec2('ES6')}}</td> + <td>Новое: Оператор распространения, деструктурирующее присваивание, ключевое слово <code>super</code>.</td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="See_also" name="See_also">Смотрите также</h2> + +<ul> + <li>{{jsxref("Operators/Operator_Precedence", "Приоритеты операторов", "", 1)}}</li> +</ul> |
