Skip to content

Commit 0cc5b69

Browse files
authored
Merge branch 'master' into patch-80
2 parents 38d3787 + fb3b77c commit 0cc5b69

File tree

217 files changed

+1735
-1210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

217 files changed

+1735
-1210
lines changed

1-js/01-getting-started/1-intro/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
```smart header="Почему <u>Java</u>Script?"
1616
Когда JavaScript создавался, у него было другое имя - "LiveScript". Однако, язык Java был очень популярен в то время, и было решено, что позиционирование JavaScript как "младшего брата" Java будет полезно.
1717
18-
Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся [ECMAScript](http://ru.wikipedia.org/wiki/ECMAScript), и сейчас не имеет никакого отношения к Java.
18+
Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся [ECMAScript](https://ru.wikipedia.org/wiki/ECMAScript), и сейчас не имеет никакого отношения к Java.
1919
```
2020

2121
Сегодня JavaScript может выполняться не только в браузере, но и на сервере или на любом другом устройстве, которое имеет специальную программу, называющуюся ["движком" JavaScript](https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_JavaScript).
@@ -107,8 +107,8 @@ JavaScript - это единственная браузерная техноло
107107
Примеры таких языков:
108108

109109
- [CoffeeScript](http://coffeescript.org/) добавляет "синтаксический сахар" для JavaScript. Он вводит более короткий синтаксис, который позволяет писать чистый и лаконичный код. Обычно такое нравится Ruby-программистам.
110-
- [TypeScript](http://www.typescriptlang.org/) концентрируется на добавлении "строгой типизации" для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
111-
- [Flow](http://flow.org/) тоже добавляет типизацию, но иначе. Разработан Facebook.
110+
- [TypeScript](https://www.typescriptlang.org/) концентрируется на добавлении "строгой типизации" для упрощения разработки и поддержки больших и сложных систем. Разработан Microsoft.
111+
- [Flow](https://flow.org/) тоже добавляет типизацию, но иначе. Разработан Facebook.
112112
- [Dart](https://www.dartlang.org/) стоит особняком, потому что имеет собственный движок, работающий вне браузера (например, в мобильных приложениях). Первоначально был предложен Google, как замена JavaScript, но на данный момент необходима его транспиляция для запуска так же, как для вышеперечисленных языков.
113113
- [Brython](https://brython.info/) транспилирует Python в JavaScript, что позволяет писать приложения на чистом Python без JavaScript.
114114

1-js/01-getting-started/2-manuals-specifications/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
Хотя зачастую вместо их сайта удобнее использовать какой-нибудь интернет-поисковик, вводя там запрос "MDN [что вы хотите найти]", например <https://google.com/search?q=MDN+parseInt> для поиска информации о функции `parseInt`.
2525

2626

27-
- **MSDN** – справочник от Microsoft, содержащий много информации, в том числе по JavaScript (который там часто обозначается как JScript). Если вам нужно найти что-то специфическое по браузеру Internet Explorer, лучше искать там: <http://msdn.microsoft.com/>.
27+
- **MSDN** – справочник от Microsoft, содержащий много информации, в том числе по JavaScript (который там часто обозначается как JScript). Если вам нужно найти что-то специфическое по браузеру Internet Explorer, лучше искать там: <https://msdn.microsoft.com/>.
2828

2929
Так же, как и в предыдущем случае, можно использовать интернет-поиск, набирая фразы типа "RegExp MSDN" или "RegExp MSDN jscript".
3030

1-js/01-getting-started/3-code-editors/article.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,8 @@ IDE загружает проект (который может состоять
1212

1313
Если вы ещё не выбрали себе IDE, присмотритесь к этим:
1414

15-
16-
- [Visual Studio Code](https://code.visualstudio.com/) (бесплатно).
17-
- [WebStorm](http://www.jetbrains.com/webstorm/) (платно).
18-
19-
Обе IDE -- кроссплатформенные.
15+
- [Visual Studio Code](https://code.visualstudio.com/) (кросс-платформенная, бесплатная).
16+
- [WebStorm](https://www.jetbrains.com/webstorm/) (кросс-платформенная, платная).
2017

2118
Для Windows есть ещё Visual Studio (не путать с Visual Studio Code). Visual Studio - это платная мощная среда разработки, которая работает только на Windows. Она хорошо подходит для .NET платформы. У неё есть бесплатная версия, которая называется [Visual Studio Community](https://www.visualstudio.com/vs/community/).
2219

@@ -37,7 +34,7 @@ IDE загружает проект (который может состоять
3734
- [Atom](https://atom.io/) (кроссплатформенный, бесплатный).
3835
- [Sublime Text](http://www.sublimetext.com) (кроссплатформенный, условно-бесплатный).
3936
- [Notepad++](https://notepad-plus-plus.org/) (Windows, бесплатный).
40-
- [Vim](http://www.vim.org/) и [Emacs](https://www.gnu.org/software/emacs/) тоже хороши, если знать, как ими пользоваться.
37+
- [Vim](https://www.vim.org/) и [Emacs](https://www.gnu.org/software/emacs/) тоже хороши, если знать, как ими пользоваться.
4138

4239
## Не будем ссориться
4340

1-js/02-first-steps/03-strict-mode/article.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ alert("some code");
5151
5252
Иногда, когда `use strict` имеет значение, вы можете получить неправильные результаты.
5353
54+
Итак, как можно включить `use strict` в консоли?
55+
5456
Можно использовать `key:Shift+Enter` для ввода нескольких строк и написать в верхней строке `use strict`:
5557
5658
```js
@@ -61,7 +63,7 @@ alert("some code");
6163

6264
В большинстве браузеров, включая Chrome и Firefox, это работает.
6365

64-
В старых браузерах консоль не учитывает такой `use strict`, там можно "оборачивать" код в функцию, вот так:
66+
Если этого не происходит, например, в старом браузере, есть некрасивый, но надежный способ обеспечить `use strict`. Поместите его в следующую обёртку:
6567

6668
```js
6769
(function() {

1-js/02-first-steps/04-variables/article.md

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ let message;
2424
let message;
2525

2626
*!*
27-
message = 'Hello'; // сохранить строку
27+
message = 'Hello'; // сохранить строку 'Hello' в переменной с именем message
2828
*/!*
2929
```
3030

@@ -53,8 +53,7 @@ alert(message); // Hello!
5353
let user = 'John', age = 25, message = 'Hello';
5454
```
5555

56-
Такой способ может показаться короче, но мы не рекомендуем его.
57-
Для лучшей читаемости объявляйте каждую переменную на новой строке.
56+
Такой способ может показаться короче, но мы не рекомендуем его. Для лучшей читаемости объявляйте каждую переменную на новой строке.
5857

5958
Многострочный вариант немного длиннее, но легче для чтения:
6059

@@ -65,6 +64,7 @@ let message = 'Hello';
6564
```
6665

6766
Некоторые люди также определяют несколько переменных в таком вот многострочном стиле:
67+
6868
```js no-beautify
6969
let user = 'John',
7070
age = 25,
@@ -81,7 +81,6 @@ let user = 'John'
8181

8282
В принципе, все эти варианты работают одинаково. Так что это вопрос личного вкуса и эстетики.
8383

84-
8584
````smart header="`var` вместо `let`"
8685
В старых скриптах вы также можете найти другое ключевое слово: `var` вместо `let`:
8786

@@ -91,8 +90,7 @@ let user = 'John'
9190

9291
Ключевое слово `var` - *почти* то же самое, что и `let`. Оно объявляет переменную, но немного по-другому, "устаревшим" способом.
9392

94-
Есть тонкие различия между `let` и `var`, но они пока не имеют для нас значения.
95-
Мы подробно рассмотрим их в главе <info:var>.
93+
Есть тонкие различия между `let` и `var`, но они пока не имеют для нас значения. Мы подробно рассмотрим их в главе <info:var>.
9694
````
9795
9896
## Аналогия из жизни
@@ -106,6 +104,7 @@ let user = 'John'
106104
Мы можем положить любое значение в коробку.
107105
108106
Мы также можем изменить его столько раз, сколько захотим:
107+
109108
```js run
110109
let message;
111110
@@ -152,13 +151,11 @@ let message = "Другое"; // SyntaxError: 'message' has already been declare
152151
````
153152

154153
```smart header="Функциональные языки программирования"
155-
Примечательно, что существуют [функциональные](https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) языки программирования, такие как [Scala](http://www.scala-lang.org/) или [Erlang](http://www.erlang.org/), которые запрещают изменять значение переменной.
154+
Примечательно, что существуют [функциональные](https://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5) языки программирования, такие как [Scala](https://www.scala-lang.org/) или [Erlang](https://www.erlang.org/), которые запрещают изменять значение переменной.
156155
157156
В таких языках однажды сохранённое "в коробку" значение остаётся там навсегда. Если нам нужно сохранить что-то другое, язык заставляет нас создать новую коробку (объявить новую переменную). Мы не можем использовать старую переменную.
158157
159-
Хотя на первый взгляд это может показаться немного странным, эти языки вполне подходят для серьёзной разработки.
160-
Более того, есть такая область, как параллельные вычисления, где это ограничение даёт определённые преимущества.
161-
Изучение такого языка (даже если вы не планируете использовать его в ближайшее время) рекомендуется для расширения кругозора.
158+
Хотя на первый взгляд это может показаться немного странным, эти языки вполне подходят для серьёзной разработки. Более того, есть такая область, как параллельные вычисления, где это ограничение даёт определённые преимущества. Изучение такого языка (даже если вы не планируете использовать его в ближайшее время) рекомендуется для расширения кругозора.
162159
```
163160

164161
## Имена переменных [#variable-naming]
@@ -175,8 +172,7 @@ let userName;
175172
let test123;
176173
```
177174

178-
Если имя содержит несколько слов, обычно используется [верблюжья нотация](https://ru.wikipedia.org/wiki/CamelCase),
179-
то есть, слова следуют одно за другим, где каждое следующее слово начинается с заглавной буквы: `myVeryLongName`.
175+
Если имя содержит несколько слов, обычно используется [верблюжья нотация](https://ru.wikipedia.org/wiki/CamelCase), то есть, слова следуют одно за другим, где каждое следующее слово начинается с заглавной буквы: `myVeryLongName`.
180176

181177
Самое интересное -- знак доллара `'$'` и подчёркивание `'_'` также можно использовать в названиях. Это обычные символы, как и буквы, без какого-либо особого значения.
182178

@@ -198,7 +194,7 @@ let my-name; // дефис '-' не разрешён в имени
198194
```
199195

200196
```smart header="Регистр имеет значение"
201-
Переменные с именами `apple` и `AppLE` -- это две разные переменные.
197+
Переменные с именами `apple` и `APPLE` -- это две разные переменные.
202198
```
203199

204200
````smart header="Нелатинские буквы разрешены, но не рекомендуются"
@@ -296,6 +292,7 @@ alert(color); // #FF7F00
296292
Название "константа" просто означает, что значение переменной никогда не меняется. Но есть константы, которые известны до выполнения (например, шестнадцатеричное значение для красного цвета), а есть константы, которые *вычисляются* во время выполнения сценария, но не изменяются после их первоначального назначения.
297293
298294
Например:
295+
299296
```js
300297
const pageLoadTime = /* время, потраченное на загрузку веб-страницы */;
301298
```

0 commit comments

Comments
 (0)