Skip to content

Commit be594ac

Browse files
committed
operators
1 parent 1702112 commit be594ac

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

1-js/2-first-steps/8-operators/article.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -118,29 +118,28 @@ Why did unary pluses work before the binary one? As we're going to see soon, tha
118118

119119
## Operators precedence
120120

121+
If an expression has more than one operator -- their execution order is defined the their *precedence*.
121122

122-
В том случае, если в выражении есть несколько операторов -- порядок их выполнения определяется *приоритетом*.
123+
From the school we all know that the multiplication in the expression `1 + 2 * 2` should be calculated before the addition. That's exactly the precedence thing. If we're not satisfied with the order, we can use brackets to override the default precedence: `(1 + 2) * 2`.
123124

124-
Из школы мы знаем, что умножение в выражении `2 * 2 + 1` выполнится раньше сложения, т.к. его *приоритет* выше, а скобки явно задают порядок выполнения. Но в JavaScript -- гораздо больше операторов, поэтому существует целая [таблица приоритетов](https://developer.mozilla.org/en/JavaScript/Reference/operators/operator_precedence).
125+
There are many operators in JavaScript. For clarity and internal needs there exists a [precedence table](https://developer.mozilla.org/en/JavaScript/Reference/operators/operator_precedence). Every operator has a corresponding precedence number. The one with the bigger number executes first. If the precedence is same -- the execution order is from left to right.
125126

126-
Она содержит как уже пройденные операторы, так и те, которые мы еще не проходили. В ней каждому оператору задан числовой приоритет. Тот, у кого число больше -- выполнится раньше. Если приоритет одинаковый, то порядок выполнения -- слева направо.
127-
128-
Отрывок из таблицы:
127+
An extract from the table:
129128

130129
<table>
131130
<tr><td>...</td><td>...</td><td>...</td></tr>
132-
<tr><td>15</td><td>унарный плюс</td><td>`+`</td></tr>
133-
<tr><td>15</td><td>унарный минус</td><td>`-`</td></tr>
134-
<tr><td>14</td><td>умножение</td><td>`*`</td></tr>
135-
<tr><td>14</td><td>деление</td><td>`/`</td></tr>
136-
<tr><td>13</td><td>сложение</td><td>`+`</td></tr>
137-
<tr><td>13</td><td>вычитание</td><td>`-`</td></tr>
131+
<tr><td>15</td><td>unary plus</td><td>`+`</td></tr>
132+
<tr><td>15</td><td>unary minus</td><td>`-`</td></tr>
133+
<tr><td>14</td><td>multiplication</td><td>`*`</td></tr>
134+
<tr><td>14</td><td>division</td><td>`/`</td></tr>
135+
<tr><td>13</td><td>addition</td><td>`+`</td></tr>
136+
<tr><td>13</td><td>substraction</td><td>`-`</td></tr>
138137
<tr><td>...</td><td>...</td><td>...</td></tr>
139-
<tr><td>3</td><td>присвоение</td><td>`=`</td></tr>
138+
<tr><td>3</td><td>assignment</td><td>`=`</td></tr>
140139
<tr><td>...</td><td>...</td><td>...</td></tr>
141140
</table>
142141

143-
Так как "унарный плюс" имеет приоритет `15`, выше, чем `13` у обычного "сложения", то в выражении `+apples + +oranges` сначала сработали плюсы у `apples` и `oranges`, а затем уже обычное сложение.
142+
As we can see, the "unary plus" has a priority of `15`, higher than `13` for the ordinary "addition". That's why in the expression `+apples + +oranges` unary pluses worked first, and then the addition.
144143

145144
## Присваивание
146145

0 commit comments

Comments
 (0)