Skip to content

Commit e89db25

Browse files
authored
Merge pull request #12 from hexlet-basics/update-from-main-course
update from main course
2 parents d1049e6 + 027932d commit e89db25

File tree

54 files changed

+1
-110
lines changed

Some content is hidden

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

54 files changed

+1
-110
lines changed

modules/10-basics/20-comments/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,4 @@ console.log('I am the King'); // For Lannisters!
3737
console.log('I am the King');
3838
```
3939

40-
https://replit.com/@hexlet/helloworld
41-
4240
Такие комментарии, обычно, используют для документирования кода, например, функций.

modules/10-basics/40-instructions/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ console.log('Mother of Dragons.');
77
console.log('Dracarys!');
88
```
99

10-
https://replit.com/@hexlet/js-basics-instructions
11-
1210
При запуске этого кода, на экран последовательно выводятся два предложения:
1311

1412
<pre class='hexlet-basics-output'>

modules/10-basics/45-testing/ru/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
Expected – ожидаемое значение, а Received, то которое выдал ваш код.
2828

29-
Кроме наших тестов, будет крайне полезно экспериментировать с кодом в консоли [браузера](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console). В любой ситуации, когда вы недопоняли, или хотите попробовать разные варианты использования, смело открывайте консоль и вводите туда код. Идеально, если вы выполните самостоятельно весь код, который присутствует в уроках. Кроме консоли, полезно использовать сервис [repl.it](https://repl.it/languages/javascript).
29+
Кроме наших тестов, будет крайне полезно экспериментировать с кодом в консоли [браузера](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console). В любой ситуации, когда вы недопоняли, или хотите попробовать разные варианты использования, смело открывайте консоль и вводите туда код.
3030

3131
---
3232

modules/10-basics/50-syntax-errors/ru/README.md

-4
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@ console.log('Hodor'
99
1010
Если запустить код выше, то мы увидим следующее сообщение: `SyntaxError: missing ) after argument list`, а также указание на строку и файл, где возникла эта ошибка. Подобные синтаксические ошибки в JavaScript относятся к разряду SyntaxError.
1111
12-
*По техническим причинам, такой код, запущенный на https://code-basics.com не укажет на строку и файл. Проверить этот вывод можно на https://repl.it*
13-
14-
https://replit.com/@hexlet/js-basics-syntax-errors
15-
1612
С одной стороны, ошибки SyntaxError — самые простые, потому что они связаны исключительно с грамматическими правилами написания кода, а не с самим смыслом кода. Их легко исправить: нужно лишь найти нарушение в записи.
1713
1814
С другой стороны, интерпретатор не всегда может чётко указать на это нарушение. Поэтому бывает, что забытую скобку нужно поставить не туда, куда указывает сообщение об ошибке.

modules/20-arithmetics/20-basic/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@ console.log(8 / 2); // => 4
3737
console.log(3 ** 2); // => 9
3838
```
3939

40-
https://replit.com/@hexlet/js-basics-arithmetics-basics
41-
4240
Иногда для удобства мы будем показывать в комментариях результат запуска строчек кода, вот так: `=> РЕЗУЛЬТАТ`. Например, `// => 4`.
4341

4442
Первая инструкция выведет на экран `4` (потому что 8 / 2 это 4), а вторая инструкция выведет на экран 9 (потому что 3<sup>2</sup> это 9).

modules/20-arithmetics/25-operator/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
console.log(8 + 2);
66
```
77

8-
https://replit.com/@hexlet/js-basics-arithmetics-operator
9-
108
В этом примере `+` — это **оператор**, а числа `8` и `2` — это **операнды**.
119

1210
В случае сложения у нас есть два операнда: один слева, другой справа от знака `+`. Операции, которые требуют наличия двух операндов, называются **бинарными**. Если пропустить хотя бы один операнд, например, `3 + ;`, то программа завершится с синтаксической ошибкой.

modules/20-arithmetics/30-composition/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ console.log(3 * 5 - 2); // => 13
1212
console.log(2 * 4 * 5 * 10);
1313
```
1414

15-
https://replit.com/@hexlet/js-basics-arithmetics-composition
16-
1715
Как видно, операции можно соединять друг с другом, получая возможность вычислять все более сложные составные выражения. Чтобы представить себе то, как происходят вычисления внутри интерпретатора, давайте разберем пример: `2 * 4 * 5 * 10`.
1816

1917
1. Сначала вычисляется `2 * 4` и получается выражение `8 * 5 * 10`.

modules/20-arithmetics/40-priority/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,4 @@ console.log(8 / 2 + 5 - -3 / 2); // => 10.5
2727
console.log(((8 / 2) + 5) - (-3 / 2)); // => 10.5
2828
```
2929

30-
https://replit.com/@hexlet/js-basics-arithmetics#index.js
31-
3230
Запомните: код пишется для людей, потому что код будут читать люди, а машины будут только исполнять его. Для машин код — или корректный, или не корректный, для них нет «более» понятного или «менее» понятного кода.

modules/20-arithmetics/60-infinity/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
console.log(1 / 0); // ?
66
```
77

8-
https://replit.com/@hexlet/js-basics-arithmetics-inifinity
9-
108
Попробуйте выполнить этот код в браузере. На экран выведется `Infinity` (бесконечность)! Для тех, кто изучал высшую математику (привет, матан!), в этом нет ничего удивительного. Деление на ноль действительно создает бесконечность. Бесконечность в JavaScript — самое настоящее число, с которым возможно проводить различные операции. В повседневных задачах смысла от этого мало, так как большинство операций с бесконечностью завершаются созданием бесконечности, например, при прибавлении любого числа к бесконечности мы все равно получим бесконечность.
119

1210
```javascript

modules/20-arithmetics/70-nan/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,4 @@ Infinity / Infinity; // NaN
1010
NaN + 1; // NaN
1111
```
1212

13-
https://replit.com/@hexlet/js-basics-arithmetics-NaN
14-
1513
`NaN` интересное значение, хотя оно обозначает "не число" — с точки зрения типов, оно является числом. Парадокс. `NaN` никогда не является желаемым значением и появляется только в результате ошибок. Если вы его встретили, то нужно отследить момент, в котором выполнилась операция, недопустимая для чисел, и поправить это место.

modules/25-strings/15-escape-characters/ru/data.yml

-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ definitions:
66
специальная комбинация символов в тексте. Например, `\n` — это перевод
77
строки.
88
tips:
9-
- >
10-
Обязательно поэкспериментируйте с выводом разных строк на сайте
11-
[https://replit.com/languages/nodejs](https://replit.com/languages/nodejs)
129
- >
1310
[История перевода
1411
строки](https://ru.wikipedia.org/wiki/Перевод_строки#История)

modules/25-strings/20-string-concatenation/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,3 @@ console.log("King's " + ' Landing'); // => King's Landing
4444

4545
console.log("King's " + ' Landing'); // => King's Landing
4646
```
47-
48-
https://replit.com/@hexlet/js-basics-strings

modules/25-strings/30-encoding/ru/EXERCISE.md

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ console.log(String.fromCharCode(63));
77

88
На экран выведется символ с номером 63 — вопросительный знак `?`. Таким способом можно выводить любой символ.
99

10-
https://replit.com/@hexlet/js-basics-strings-encoding
11-
1210
Найдите в интернете таблицу кодов ASCII. Можно использовать запросы типа "ascii codes table" или «коды ascii». Обычно в таких таблицах коды указаны сразу в нескольких системах счисления: десятичной, двоичной, восьмеричной и шестнадцатеричной. Нас интересует десятичный код (*dec* или *decimal*).
1311

1412
Используя пример выше и найденную таблицу, выведите на экран символы `~`, `^` и `%` (каждый на своей собственной строке).

modules/30-variables/10-definition/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,4 @@ console.log(greeting2);
4444
console.log(greeting2);
4545
```
4646

47-
https://replit.com/@hexlet/js-basics-variables-definition
48-
4947
Для удобства анализа программы, переменные принято создавать как можно ближе к тому месту, где они используются.

modules/30-variables/11-change/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,4 @@ console.log(greeting);
1111
console.log(greeting);
1212
```
1313

14-
https://replit.com/@hexlet/js-basics-variables-change
15-
1614
Имя осталось тем же, но внутри другие данные. Обратите внимание на ключевое различие между объявлением переменной и ее изменением. Ключевое слово `let` ставится только при создании переменной, но при изменении оно уже не используется.

modules/30-variables/15-variables-expressions/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@ let who = "dragon's" + 'mother';
3232
console.log(who);
3333
```
3434

35-
Запустите его на [repl.it](https://repl.it/languages/javascript) и поэкспериментируйте.
36-
3735
<details>
3836
<summary>Ответ</summary>
3937

modules/30-variables/18-variable-concatenation/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,3 @@ let last = 'road';
2424
let what = first + last;
2525
console.log(what); // => Kingsroad
2626
```
27-
28-
https://replit.com/@hexlet/variables-expression

modules/30-variables/23-constants/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ const rubles = dollars * rublesInDollar; // 75000
2424
console.log(rubles);
2525
```
2626

27-
https://replit.com/@hexlet/js-basics-variables
28-
2927
Единственное изменение заключается в том, что ключевое слово `let` заменилось на `const`, но это только синтаксис. Теперь, если попытаться изменить любую константу, то мы получим сообщение об ошибке. В остальном они используются точно так же, как и переменные.
3028

3129
```javascript

modules/30-variables/25-interpolation/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ console.log(`${greeting}, ${firstName}!`);
2323
// => Hello, Joffrey!
2424
```
2525

26-
https://replit.com/@hexlet/js-basics-interpolation
27-
2826
Мы просто создали одну строку и «вставили» в неё в нужные места константы с помощью знака доллара и фигурных скобок `${ }`. Получился как будто бланк, куда внесены нужные значения. И нам не нужно больше заботиться об отдельных строках для знаков препинания и пробелов — все эти символы просто записаны в этой строке-шаблоне.
2927

3028
В одной строке можно делать сколько угодно подобных блоков.

modules/30-variables/30-symbols/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,3 @@ const firstName = 'Tirion';
4646

4747
console.log(firstName[10]); // => undefined
4848
```
49-
50-
https://replit.com/@hexlet/js-basics-symbols

modules/33-data-types/10-primitive-data-types/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ typeof 3; // number
2121
typeof 'Game'; // string
2222
```
2323

24-
https://replit.com/@hexlet/js-basics-data-types-primitive-data-types
25-
2624
Типы данных Number, BigInt и String — это *примитивные* типы. Но есть и другие. В JavaScript встроен составной тип Object (а на его базе массивы, даты и другие). С его помощью можно объединять данные разных типов в одно значение, например, мы можем создать пользователя добавив к нему имя и возраст.
2725

2826
```javascript

modules/33-data-types/45-undefined/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ const name = 'Arya';
1313
console.log(name[8]);
1414
```
1515

16-
https://replit.com/@hexlet/js-basics-data-types-undefined
17-
1816
Смысл (семантика) значения `undefined` именно в том, что значения нет. Однако, ничто не мешает написать такой код:
1917

2018
```javascript

modules/33-data-types/50-data-types-weak-typing/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ const result = 'one' * 'two';
1616
console.log(result); // => NaN
1717
```
1818

19-
https://replit.com/@hexlet/js-basics-immutability-of-primitive-types
20-
2119
В языках со **строгой типизацией** сложить число со строкой не получится.
2220

2321
JavaScript был создан для интернета, а в интернете вся информация — это строки. Даже когда вы вводите на сайте номер телефона или год рождения, на сервер эта информация поступает не как числа, а как строки. Поэтому авторы языка решили, что автоматически преобразовывать типы — правильно и удобно.

modules/35-calling-functions/110-math/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
Math.pow(2, 3); // 8
88
```
99

10-
https://replit.com/@hexlet/js-basics-calling-functions-math
11-
1210
Что такое `Math`? Технически — это объект, доступный из любого места программы, но перед тем, как говорить об объектах, нужно проделать очень большой путь. Сейчас достаточно запомнить, что функции для математических операций вызываются через `Math.`. Наличие этой приставки никак не влияет на понятие функции, которое мы рассмотрели ранее и будем рассматривать позже.
1311

1412
Полный список функций Math доступен в [документации](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math). О том, как её правильно читать, мы поговорим далее.

modules/35-calling-functions/120-function-signature/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ const result = Math.pow(2, 'boom');
66
console.log(result); // => NaN
77
```
88

9-
https://replit.com/@hexlet/js-basics-calling-functions-function-signature
10-
119
Другая функция может иметь другое число параметров и другие типы параметров. Например, может существовать функция, которая принимает три параметра: число, строку и ещё одно число.
1210

1311
Откуда мы знаем, сколько каких параметров нужно функции `Math.pow()` и какого типа будет «возврат»? Мы заглянули в **сигнатуру** этой функции. Сигнатура определяет входные параметры и их типы, а также выходной параметр и его тип. Про функцию `Math.pow()` можно почитать в [документации](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Math/pow). В разделе «Синтаксис» есть такой текст:

modules/38-properties/100-properties-syntax/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ const len = name.length;
1616
console.log(len); // => 4
1717
```
1818

19-
https://replit.com/@hexlet/js-basics-properties-properties-syntax
20-
2119
Свойства связаны с данными, у которых они берутся. Для примитивных типов все свойства описаны в документации, как например, у [строк](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String). При этом у чисел вообще нет свойств.
2220

2321
JavaScript позволяет обращаться к свойствам, которые не существуют (например, при опечатках). В таком случае их значением является `undefined`:

modules/38-properties/200-properties-methods/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ const upperName = name.toUpperCase();
77
console.log(upperName); // => ROBB
88
```
99

10-
https://replit.com/@hexlet/js-basics-properties-methods
11-
1210
Встроенные методы всегда оперируют теми данными, с которыми они связаны. Метод `.toUpperCase()` возвращает ту же строку, но преобразуя все символы в верхний регистр. Методов у данных обычно значительно больше, чем свойств, например, для строк их [несколько десятков](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/String). В документации, на первый взгляд, они описаны немного странно: *String.prototype.toLowerCase()*. Это описание раскрывает некоторые внутренние детали реализации, которые сейчас не важны, да и мы не изучили всей необходимой базы для разговора о прототипах.
1311

1412
Методы есть и у [чисел](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number):

modules/38-properties/300-properties-immutability/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ name.length = 100;
1616
console.log(name.length); // => 6
1717
```
1818

19-
https://replit.com/@hexlet/js-properties-immutability
20-
2119
Вместо изменения значения можно *заменить* значение. Для этого понадобятся переменные:
2220

2321
```javascript

modules/38-properties/400-properties-expressions/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,3 @@ console.log(name2.length); // => 5
1818
console.log(name2.toLowerCase()); // => shaya
1919
console.log(Math.min(name1.length, name2.length)); // => 4
2020
```
21-
22-
https://replit.com/@hexlet/js-basics-properties-method

modules/40-define-functions/100-define-functions-syntax/ru/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ const showGreeting = () => {
3434
showGreeting(); // => Hello, Hexlet!
3535
```
3636

37-
https://replit.com/@hexlet/js-basics-functions-define
38-
3937
В отличие от обычных данных, функции выполняют действия, поэтому их имена практически всегда должны быть глаголами: «построить что-то», «нарисовать что-то», «открыть что-то».
4038

4139
Всё, что описывается внутри фигурных скобок `{}`, называется телом функции. Внутри тела можно описывать любой код. Считайте, что это маленькая самостоятельная программа, набор произвольных инструкций. Тело выполняется ровно в тот момент, когда запускается функция. Причём каждый вызов функции запускает тело независимо от других вызовов. Кстати, тело может быть пустым:

0 commit comments

Comments
 (0)