From 6126ca9c67b5ec12b1902508bfcb13db84343c88 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Sat, 13 Apr 2019 15:51:14 +0300 Subject: [PATCH 1/7] translate 1-js/02-first-steps/02-structure/article.md --- 1-js/02-first-steps/02-structure/article.md | 130 ++++++++++---------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 6fe7041ee5..179cf06d50 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -1,44 +1,44 @@ -# Code structure +# Структура кода -The first thing we'll study is the building blocks of code. +Первое, что мы рассмотрим, это строительные блоки кода. -## Statements +## Инструкции -Statements are syntax constructs and commands that perform actions. +Инструкции -- это синтаксические конструкции и команды, которые выполняют действия. -We've already seen a statement, `alert('Hello, world!')`, which shows the message "Hello, world!". +Мы уже видели инструкцию, `alert('Привет, мир!')`, которая отображает сообщение "Привет, мир!". -We can have as many statements in our code as we want. Statements can be separated with a semicolon. +В нашем коде может быть столько инструкций, сколько мы захотим. Инструкции могут отделяться точкой с запятой. -For example, here we split "Hello World" into two alerts: +Например, здесь мы разделили сообщение "Привет Мир" на два вызова alert: ```js run no-beautify -alert('Hello'); alert('World'); +alert('Привет'); alert('Мир'); ``` -Usually, statements are written on separate lines to make the code more readable: +Обычно, каждую инструкцию пишут на новой строке, чтобы код был более удобочитаемым: ```js run no-beautify -alert('Hello'); -alert('World'); +alert('Привет'); +alert('Мир'); ``` -## Semicolons [#semicolon] +## Точка с запятой [#semicolon] -A semicolon may be omitted in most cases when a line break exists. +В большинстве случаев точку с запятой можно опустить, если есть переход на новую строку. -This would also work: +Так тоже будет работать: ```js run no-beautify -alert('Hello') -alert('World') +alert('Привет') +alert('Мир') ``` -Here, JavaScript interprets the line break as an "implicit" semicolon. This is called an [automatic semicolon insertion](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion). +В этом случае JavaScript интерпретирует перенос строки как "неявную" точку с запятой. Это называется [автоматическая вставка точки с запятой](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion). -**In most cases, a newline implies a semicolon. But "in most cases" does not mean "always"!** +**В большинстве случаев новая строка подразумевает точку с запятой. Но "в большинстве случаев" не значит "всегда"!** -There are cases when a newline does not mean a semicolon. For example: +В некоторых ситуациях новая строка не означает точку с запятой. Например: ```js run no-beautify alert(3 + @@ -46,114 +46,114 @@ alert(3 + + 2); ``` -The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so the semicolon is not required. And in this case that works as intended. +Код выведет `6` потому что JavaScript не вставляет здесь точку с запятой. Интуитивно очевидно, что если строка кончается знаком `"+"`, значит это "незавершенное выражение", поэтому точка с запятой не требуется. И в этом случае всё работает как задумано. -**But there are situations where JavaScript "fails" to assume a semicolon where it is really needed.** +**Но есть ситуации, где JavaScript "забывает" вставить точку с запятой там, где она нужна.** -Errors which occur in such cases are quite hard to find and fix. +Ошибки, которые при этом появляются, достаточно сложно обнаруживать и исправлять. -````smart header="An example of an error" -If you're curious to see a concrete example of such an error, check this code out: +````smart header="Пример ошибки" +Если вы хотите увидеть конкретный пример такой ошибки, обратите внимание на этот код: ```js run [1, 2].forEach(alert) ``` -No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of the code: it shows `1` then `2`. +Пока нет необходимости знать значение скобок `[]` и `forEach`. Мы изучим их позже. Пока что, просто запомните результат выполнения этого кода: выводится `1`, а затем `2`. -Now, let's add an `alert` before the code and *not* finish it with a semicolon: +А теперь добавим `alert` перед кодом и *не* поставим вконце точку с запятой: ```js run no-beautify -alert("There will be an error") +alert("Сейчас будет ошибка") [1, 2].forEach(alert) ``` -Now if we run the code, only the first `alert` is shown and then we have an error! +Теперь, если запустить код, выведется только первый `alert`, а затем мы получим ошибку! -But everything is fine again if we add a semicolon after `alert`: +Всё исправится, если мы поставим точку с запятой после `alert`: ```js run -alert("All fine now"); +alert("Теперь всё в порядке"); [1, 2].forEach(alert) ``` -Now we have the "All fine now" message followed by `1` and `2`. +Теперь мы получим сообщение "Теперь всё в порядке", следом за которым будут `1` и `2`. -The error in the no-semicolon variant occurs because JavaScript does not assume a semicolon before square brackets `[...]`. +В первом примере без точки с запятой возникает ошибка, потому что JavaScript не предполагает точку с запятой перед квадратными скобками `[...]`. -So, because the semicolon is not auto-inserted, the code in the first example is treated as a single statement. Here's how the engine sees it: +Итак, поскольку в точка с запятой не вставляются автоматически, код в первом примере выполняется как одна инструкция. Вот как движок видит его: ```js run no-beautify -alert("There will be an error")[1, 2].forEach(alert) +alert("Сейчас будет ошибка")[1, 2].forEach(alert) ``` -But it should be two separate statements, not one. Such a merging in this case is just wrong, hence the error. This can happen in other situations. +Но это должны быть две отдельные инструкции, а не одна. Такое слияние, в данном случае, не правильном, от того и ошибка. Это происходит и в других ситуациях. ```` -We recommend putting semicolons between statements even if they are separated by newlines. This rule is widely adopted by the community. Let's note once again -- *it is possible* to leave out semicolons most of the time. But it's safer -- especially for a beginner -- to use them. +Мы рекомендуем ставить точку с запятой между инструкциями даже если они отделены переносами строк. Это правило широко используется в сообществе. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. -## Comments +## Комментарии -As time goes on, programs become more and more complex. It becomes necessary to add *comments* which describe what the code does and why. +Со временем программы становятся всё сложнее и сложнее. Становится необходимым добавлять *комментарии*, которые бы описывали что делает код и почему. -Comments can be put into any place of a script. They don't affect its execution because the engine simply ignores them. +Комментарии могут находиться в любом месте скрипта. Они не влияют на его выполнение, поскольку движок просто игнорирует их. -**One-line comments start with two forward slash characters `//`.** +**Однострочные комментарии начинаются с двойной косой черты `//`.** -The rest of the line is a comment. It may occupy a full line of its own or follow a statement. +Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после инструкции. Like here: ```js run -// This comment occupies a line of its own -alert('Hello'); +// Этот комментарий занимает всю строку +alert('Привет'); -alert('World'); // This comment follows the statement +alert('Мир'); // Этот комментарий следует за инструкцией ``` -**Multiline comments start with a forward slash and an asterisk /* and end with an asterisk and a forward slash */.** +**Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.** -Like this: +Вот так: ```js run -/* An example with two messages. -This is a multiline comment. +/* Пример с двумя сообщениями. +Это - многострочный комментарий. */ -alert('Hello'); -alert('World'); +alert('Привет'); +alert('Мир'); ``` -The content of comments is ignored, so if we put code inside /* ... */, it won't execute. +Содержимое комментария игнорируется, поэтому, если мы поместим внутри код /* ... */, он не будет исполняться. -Sometimes it can be handy to temporarily disable a part of code: +Иногда бывает удобно временно отключить часть кода: ```js run -/* Commenting out the code -alert('Hello'); +/* Закомментировали код +alert('Привет'); */ -alert('World'); +alert('Мир'); ``` -```smart header="Use hotkeys!" -In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl`. +```smart header="Используйте горячие клавиши!" +В большинстве редакторов строку кода можно закомментировать нажав комбинацию клавиш `key:Ctrl+/` для однострочного комментария и что-то вроде `key:Ctrl+Shift+/` -- для многострочных комментариев (выделите кусок кода и нажмите комбинацию клавиш). В системе Mac попробуйте `key:Cmd` вместо `key:Ctrl`. ``` -````warn header="Nested comments are not supported!" -There may not be `/*...*/` inside another `/*...*/`. +````warn header="Вложенные комментарии не поддерживаются!" +Не может быть `/*...*/` внутри `/*...*/`. -Such code will die with an error: +Такой код может выдать ошибку: ```js run no-beautify /* - /* nested comment ?!? */ + /* вложенный комментарий ?!? */ */ -alert( 'World' ); +alert( 'Мир' ); ``` ```` -Please, don't hesitate to comment your code. +Не бойтейсь использовать комментарии в своём коде. -Comments increase the overall code footprint, but that's not a problem at all. There are many tools which minify code before publishing to a production server. They remove comments, so they don't appear in the working scripts. Therefore, comments do not have negative effects on production at all. +Комментарии увеличивают размер кода, но это не проблема. Есть множество инструментов, которые минифицируют код перед публикацией на рабочий сервер. Они убирают комментарии, так что они не содержатся в рабочих скриптах. Таким образом, комментарии никаким образом не вредят рабочему коду. -Later in the tutorial there will be a chapter that also explains how to write better comments. +Далее по программе будет глава , которая объяснит, как лучше писать комментарии. From 7607d983838ca4095a53563731dd67b156c745f1 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Sat, 13 Apr 2019 16:26:11 +0300 Subject: [PATCH 2/7] fix translation --- 1-js/02-first-steps/02-structure/article.md | 50 ++++++++++----------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 179cf06d50..7b240b1228 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -1,26 +1,26 @@ # Структура кода -Первое, что мы рассмотрим, это строительные блоки кода. +Сначала рассмотрим строительные блоки кода. -## Инструкции +## Команды -Инструкции -- это синтаксические конструкции и команды, которые выполняют действия. +Команды -- это синтаксические конструкции и выражения, которые выполняют действия. -Мы уже видели инструкцию, `alert('Привет, мир!')`, которая отображает сообщение "Привет, мир!". +Мы уже видели команду, `alert('Hello, world!')`, которая отображает сообщение "Hello, world!". -В нашем коде может быть столько инструкций, сколько мы захотим. Инструкции могут отделяться точкой с запятой. +В нашем коде может быть столько команд, сколько мы захотим. Команды могут отделяться точкой с запятой. -Например, здесь мы разделили сообщение "Привет Мир" на два вызова alert: +Например, здесь мы разделили сообщение "Hello World" на два вызова alert: ```js run no-beautify -alert('Привет'); alert('Мир'); +alert('Hello'); alert('World'); ``` -Обычно, каждую инструкцию пишут на новой строке, чтобы код был более удобочитаемым: +Обычно, каждую команду пишут на новой строке, чтобы код было легче читать: ```js run no-beautify -alert('Привет'); -alert('Мир'); +alert('Hello'); +alert('World'); ``` ## Точка с запятой [#semicolon] @@ -30,8 +30,8 @@ alert('Мир'); Так тоже будет работать: ```js run no-beautify -alert('Привет') -alert('Мир') +alert('Hello') +alert('World') ``` В этом случае JavaScript интерпретирует перенос строки как "неявную" точку с запятой. Это называется [автоматическая вставка точки с запятой](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion). @@ -46,7 +46,7 @@ alert(3 + + 2); ``` -Код выведет `6` потому что JavaScript не вставляет здесь точку с запятой. Интуитивно очевидно, что если строка кончается знаком `"+"`, значит это "незавершенное выражение", поэтому точка с запятой не требуется. И в этом случае всё работает как задумано. +Код выведет `6` потому что JavaScript не вставляет здесь точку с запятой. Интуитивно очевидно, что если строка заканчивается знаком `"+"`, значит это "незавершенное выражение", поэтому точка с запятой не требуется. И в этом случае всё работает как задумано. **Но есть ситуации, где JavaScript "забывает" вставить точку с запятой там, где она нужна.** @@ -81,18 +81,18 @@ alert("Теперь всё в порядке"); Теперь мы получим сообщение "Теперь всё в порядке", следом за которым будут `1` и `2`. -В первом примере без точки с запятой возникает ошибка, потому что JavaScript не предполагает точку с запятой перед квадратными скобками `[...]`. +В первом примере без точки с запятой возникает ошибка, потому что JavaScript не вставляет точку с запятой перед квадратными скобками `[...]`. -Итак, поскольку в точка с запятой не вставляются автоматически, код в первом примере выполняется как одна инструкция. Вот как движок видит его: +Итак, поскольку точка с запятой не вставляются автоматически, код в первом примере выполняется как одна команда. Вот как движок видит его: ```js run no-beautify alert("Сейчас будет ошибка")[1, 2].forEach(alert) ``` -Но это должны быть две отдельные инструкции, а не одна. Такое слияние, в данном случае, не правильном, от того и ошибка. Это происходит и в других ситуациях. +Но это должны быть две отдельные команды, а не одна. Такое слияние, в данном случае, не правильное, от того и ошибка. Это происходит и в других ситуациях. ```` -Мы рекомендуем ставить точку с запятой между инструкциями даже если они отделены переносами строк. Это правило широко используется в сообществе. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. +Мы рекомендуем ставить точку с запятой между командами даже если они отделены переносами строк. Это правило широко используется в сообществе разработчиков. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. ## Комментарии @@ -102,14 +102,14 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert) **Однострочные комментарии начинаются с двойной косой черты `//`.** -Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после инструкции. +Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после команды. Like here: ```js run // Этот комментарий занимает всю строку -alert('Привет'); +alert('Hello'); -alert('Мир'); // Этот комментарий следует за инструкцией +alert('World'); // Этот комментарий следует за командой ``` **Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.** @@ -120,8 +120,8 @@ alert('Мир'); // Этот комментарий следует за инст /* Пример с двумя сообщениями. Это - многострочный комментарий. */ -alert('Привет'); -alert('Мир'); +alert('Hello'); +alert('World'); ``` Содержимое комментария игнорируется, поэтому, если мы поместим внутри код /* ... */, он не будет исполняться. @@ -130,9 +130,9 @@ alert('Мир'); ```js run /* Закомментировали код -alert('Привет'); +alert('Hello'); */ -alert('Мир'); +alert('World'); ``` ```smart header="Используйте горячие клавиши!" @@ -148,7 +148,7 @@ alert('Мир'); /* /* вложенный комментарий ?!? */ */ -alert( 'Мир' ); +alert( 'World' ); ``` ```` From 9b9f9578a718281ed4d15a2a1a56cfbe6f0e51e2 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Sat, 13 Apr 2019 17:04:15 +0300 Subject: [PATCH 3/7] fix typos #42 --- 1-js/02-first-steps/02-structure/article.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 7b240b1228..6e3bce0b80 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -61,7 +61,7 @@ alert(3 + Пока нет необходимости знать значение скобок `[]` и `forEach`. Мы изучим их позже. Пока что, просто запомните результат выполнения этого кода: выводится `1`, а затем `2`. -А теперь добавим `alert` перед кодом и *не* поставим вконце точку с запятой: +А теперь добавим `alert` перед кодом и *не* поставим в конце точку с запятой: ```js run no-beautify alert("Сейчас будет ошибка") @@ -152,7 +152,7 @@ alert( 'World' ); ``` ```` -Не бойтейсь использовать комментарии в своём коде. +Не опасайтесь использовать комментарии в своём коде. Комментарии увеличивают размер кода, но это не проблема. Есть множество инструментов, которые минифицируют код перед публикацией на рабочий сервер. Они убирают комментарии, так что они не содержатся в рабочих скриптах. Таким образом, комментарии никаким образом не вредят рабочему коду. From 6e10ac37304d85dfefd01605a7b87a27dce582f3 Mon Sep 17 00:00:00 2001 From: Alexey Pyltsyn Date: Sun, 14 Apr 2019 13:39:58 +0300 Subject: [PATCH 4/7] Apply suggestions from code review Co-Authored-By: kolumb --- 1-js/02-first-steps/02-structure/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 6e3bce0b80..90152a9d22 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -96,7 +96,7 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert) ## Комментарии -Со временем программы становятся всё сложнее и сложнее. Становится необходимым добавлять *комментарии*, которые бы описывали что делает код и почему. +Со временем программы становятся всё сложнее и сложнее. Возникает необходимость добавлять *комментарии*, которые бы описывали что делает код и почему. Комментарии могут находиться в любом месте скрипта. Они не влияют на его выполнение, поскольку движок просто игнорирует их. @@ -126,7 +126,7 @@ alert('World'); Содержимое комментария игнорируется, поэтому, если мы поместим внутри код /* ... */, он не будет исполняться. -Иногда бывает удобно временно отключить часть кода: +Иногда удобно временно отключить часть кода: ```js run /* Закомментировали код @@ -152,8 +152,8 @@ alert( 'World' ); ``` ```` -Не опасайтесь использовать комментарии в своём коде. +Не стесняйтесь использовать комментарии в своём коде. Комментарии увеличивают размер кода, но это не проблема. Есть множество инструментов, которые минифицируют код перед публикацией на рабочий сервер. Они убирают комментарии, так что они не содержатся в рабочих скриптах. Таким образом, комментарии никаким образом не вредят рабочему коду. -Далее по программе будет глава , которая объяснит, как лучше писать комментарии. +Позже в учебнике будет глава , которая объяснит, как лучше писать комментарии. From 53c3d0ca56b597d4c094ca1cae970ae3bc52ea90 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Fri, 19 Apr 2019 14:54:55 +0300 Subject: [PATCH 5/7] resolve requested changes in pr #45 --- 1-js/02-first-steps/02-structure/article.md | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 90152a9d22..7b755b4358 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -1,14 +1,14 @@ # Структура кода -Сначала рассмотрим строительные блоки кода. +Сначала рассмотрим основные "строительные блоки" кода. -## Команды +## Инструкции -Команды -- это синтаксические конструкции и выражения, которые выполняют действия. +Инструкции -- это синтаксические конструкции и команды, которые выполняют действия. -Мы уже видели команду, `alert('Hello, world!')`, которая отображает сообщение "Hello, world!". +Мы уже видели инструкцию, `alert('Hello, world!')`, которая отображает сообщение "Hello, world!". -В нашем коде может быть столько команд, сколько мы захотим. Команды могут отделяться точкой с запятой. +В нашем коде может быть столько инструкций, сколько мы захотим. Инструкции могут отделяться точкой с запятой. Например, здесь мы разделили сообщение "Hello World" на два вызова alert: @@ -16,7 +16,7 @@ alert('Hello'); alert('World'); ``` -Обычно, каждую команду пишут на новой строке, чтобы код было легче читать: +Обычно, каждую инструкцию пишут на новой строке, чтобы код было легче читать: ```js run no-beautify alert('Hello'); @@ -83,16 +83,16 @@ alert("Теперь всё в порядке"); В первом примере без точки с запятой возникает ошибка, потому что JavaScript не вставляет точку с запятой перед квадратными скобками `[...]`. -Итак, поскольку точка с запятой не вставляются автоматически, код в первом примере выполняется как одна команда. Вот как движок видит его: +Итак, поскольку точка с запятой не вставляется автоматически, код в первом примере выполняется как одна инструкция. Вот как движок видит его: ```js run no-beautify alert("Сейчас будет ошибка")[1, 2].forEach(alert) ``` -Но это должны быть две отдельные команды, а не одна. Такое слияние, в данном случае, не правильное, от того и ошибка. Это происходит и в других ситуациях. +Но это должны быть две отдельные инструкции, а не одна. Такое слияние, в данном случае, неправильное, от того и ошибка. Это происходит и в других ситуациях. ```` -Мы рекомендуем ставить точку с запятой между командами даже если они отделены переносами строк. Это правило широко используется в сообществе разработчиков. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. +Мы рекомендуем ставить точку с запятой между инструкциями, даже если они отделены переносами строк. Это правило широко используется в сообществе разработчиков. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. ## Комментарии @@ -102,14 +102,14 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert) **Однострочные комментарии начинаются с двойной косой черты `//`.** -Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после команды. +Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после инструкции. Like here: ```js run // Этот комментарий занимает всю строку alert('Hello'); -alert('World'); // Этот комментарий следует за командой +alert('World'); // Этот комментарий следует за инструкцией ``` **Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.** @@ -136,13 +136,13 @@ alert('World'); ``` ```smart header="Используйте горячие клавиши!" -В большинстве редакторов строку кода можно закомментировать нажав комбинацию клавиш `key:Ctrl+/` для однострочного комментария и что-то вроде `key:Ctrl+Shift+/` -- для многострочных комментариев (выделите кусок кода и нажмите комбинацию клавиш). В системе Mac попробуйте `key:Cmd` вместо `key:Ctrl`. +В большинстве редакторов строку кода можно закомментировать, нажав комбинацию клавиш `key:Ctrl+/` для однострочного комментария и что-то вроде `key:Ctrl+Shift+/` -- для многострочных комментариев (выделите кусок кода и нажмите комбинацию клавиш). В системе Mac попробуйте `key:Cmd` вместо `key:Ctrl`. ``` ````warn header="Вложенные комментарии не поддерживаются!" Не может быть `/*...*/` внутри `/*...*/`. -Такой код может выдать ошибку: +Такой код "умрёт" с ошибкой: ```js run no-beautify /* From 6726c83c0b742fd31e7e37e2851c6aff98865c99 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Mon, 29 Apr 2019 05:12:46 +0300 Subject: [PATCH 6/7] translate examples #45 --- 1-js/02-first-steps/02-structure/article.md | 30 ++++++++++----------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index d9d44d4025..18830454f7 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -6,21 +6,21 @@ Инструкции -- это синтаксические конструкции и команды, которые выполняют действия. -Мы уже видели инструкцию, `alert('Hello, world!')`, которая отображает сообщение "Hello, world!". +Мы уже видели инструкцию, `alert('Hello, world!')`, которая отображает сообщение "Привет, мир!". В нашем коде может быть столько инструкций, сколько мы захотим. Инструкции могут отделяться точкой с запятой. -Например, здесь мы разделили сообщение "Hello World" на два вызова alert: +Например, здесь мы разделили сообщение "Привет Мир" на два вызова alert: ```js run no-beautify -alert('Hello'); alert('World'); +alert('Привет'); alert('Мир'); ``` Обычно, каждую инструкцию пишут на новой строке, чтобы код было легче читать: ```js run no-beautify -alert('Hello'); -alert('World'); +alert('Привет'); +alert('Мир'); ``` ## Точка с запятой [#semicolon] @@ -30,8 +30,8 @@ alert('World'); Так тоже будет работать: ```js run no-beautify -alert('Hello') -alert('World') +alert('Привет') +alert('Мир') ``` В этом случае JavaScript интерпретирует перенос строки как "неявную" точку с запятой. Это называется [автоматическая вставка точки с запятой](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion). @@ -107,9 +107,9 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert) Like here: ```js run // Этот комментарий занимает всю строку -alert('Hello'); +alert('Привет'); -alert('World'); // Этот комментарий следует за инструкцией +alert('Мир'); // Этот комментарий следует за инструкцией ``` **Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.** @@ -120,8 +120,8 @@ alert('World'); // Этот комментарий следует за инст /* Пример с двумя сообщениями. Это - многострочный комментарий. */ -alert('Hello'); -alert('World'); +alert('Привет'); +alert('Мир'); ``` Содержимое комментария игнорируется, поэтому, если мы поместим внутри код /* ... */, он не будет исполняться. @@ -130,9 +130,9 @@ alert('World'); ```js run /* Закомментировали код -alert('Hello'); +alert('Привет'); */ -alert('World'); +alert('Мир'); ``` ```smart header="Используйте горячие клавиши!" @@ -148,7 +148,7 @@ alert('World'); /* /* вложенный комментарий ?!? */ */ -alert( 'World' ); +alert( 'Мир' ); ``` ```` @@ -156,4 +156,4 @@ alert( 'World' ); Комментарии увеличивают размер кода, но это не проблема. Есть множество инструментов, которые минифицируют код перед публикацией на рабочий сервер. Они убирают комментарии, так что они не содержатся в рабочих скриптах. Таким образом, комментарии никаким образом не вредят рабочему коду. -Позже в учебнике будет глава , которая объяснит, как лучше писать комментарии. \ No newline at end of file +Позже в учебнике будет глава , которая объяснит, как лучше писать комментарии. From e24f01efd2d3534957b9445b6819c1a939c50613 Mon Sep 17 00:00:00 2001 From: Danil Kolumbet Date: Sun, 5 May 2019 14:48:31 +0300 Subject: [PATCH 7/7] resolve requested changes (#2) --- 1-js/02-first-steps/02-structure/article.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 18830454f7..1b859053ee 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -89,7 +89,7 @@ alert("Теперь всё в порядке"); alert("Сейчас будет ошибка")[1, 2].forEach(alert) ``` -Но это должны быть две отдельные инструкции, а не одна. Такое слияние, в данном случае, неправильное, от того и ошибка. Это происходит и в других ситуациях. +Но это должны быть две отдельные инструкции, а не одна. Такое слияние, в данном случае, неправильное, от того и ошибка. Это может произойти и в некоторых других ситуациях. ```` Мы рекомендуем ставить точку с запятой между инструкциями, даже если они отделены переносами строк. Это правило широко используется в сообществе разработчиков. Стоит отметить ещё раз -- в большинстве случаев *можно* опускать точку с запятой. Но безопаснее -- особенно для новичка -- использовать их. @@ -102,7 +102,7 @@ alert("Сейчас будет ошибка")[1, 2].forEach(alert) **Однострочные комментарии начинаются с двойной косой черты `//`.** -Текст считается комментарием до конца строки. Он может как занимать всю строку, так и следовать после инструкции. +Часть строки после `//` считается комментарием. Такой комментарий может как занимать строку целиком, так и находиться после инструкции. Like here: ```js run @@ -114,7 +114,7 @@ alert('Мир'); // Этот комментарий следует за инст **Многострочные комментарии начинаются косой чертой со звёздочкой /* и заканчиваются звёздочкой с косой чертой */.** -Вот так: +Как вот здесь: ```js run /* Пример с двумя сообщениями. @@ -126,7 +126,7 @@ alert('Мир'); Содержимое комментария игнорируется, поэтому, если мы поместим внутри код /* ... */, он не будет исполняться. -Иногда удобно временно отключить часть кода: +Это бывает удобно для временного отключения участка кода: ```js run /* Закомментировали код