diff --git a/modules/25-strings/30-encoding/ru/README.md b/modules/25-strings/30-encoding/ru/README.md index e9ef0000..79ab5b77 100644 --- a/modules/25-strings/30-encoding/ru/README.md +++ b/modules/25-strings/30-encoding/ru/README.md @@ -76,7 +76,7 @@ g o o d - JavaScript по умолчанию использует Unicode для строк. - Нужно уметь диагностировать проблемы. Например, если видите «кракозябры», это почти наверняка ошибка кодировки. -В JavaScript можно получить символ по его числовому коду с помощью `String.fromCharCode()`: +В JavaScript можно получить символ по его числовому коду с помощью `String.fromCharCode()`. Это встроенная функция с длинным составным именем — используйте её по образцу из примера; подробнее о функциях и таких именах поговорим в следующих модулях. ```javascript console.log(String.fromCharCode(63)); // => ? diff --git a/modules/30-variables/18-variable-concatenation/ru/README.md b/modules/30-variables/18-variable-concatenation/ru/README.md index 9f18be9a..ab190365 100644 --- a/modules/30-variables/18-variable-concatenation/ru/README.md +++ b/modules/30-variables/18-variable-concatenation/ru/README.md @@ -59,13 +59,6 @@ const age = 42; console.log('Age: ' + age); // => Age: 42 ``` -Это удобно, но иногда приводит к неожиданностям, поэтому при желании число можно превратить в строку явно, с помощью функции `String()`: - -```javascript -const age = 42; -console.log('Age: ' + String(age)); // => Age: 42 -``` - То же самое касается переменных с результатами вычислений: ```javascript @@ -73,4 +66,4 @@ const price = 50 * 1.25 * 6.91; // => 431.875 console.log('Price in yuans: ' + price); // => Price in yuans: 431.875 ``` -Функция `String()` превращает любое значение (число, результат вычисления, булево и так далее) в строку. Подробнее про функции мы поговорим в будущих уроках. +Существует и явное преобразование числа в строку с помощью `String()` — разберём его в уроке про приведение типов. diff --git a/modules/31-advanced-strings/30-symbols/ru/README.md b/modules/31-advanced-strings/30-symbols/ru/README.md index 3e7eaa4a..0163f0eb 100644 --- a/modules/31-advanced-strings/30-symbols/ru/README.md +++ b/modules/31-advanced-strings/30-symbols/ru/README.md @@ -28,11 +28,13 @@ console.log(length(firstName)); // => 9 console.log(firstName[length(firstName) - 1]); // => r ``` +Строка `import` в начале файла подключает учебную функцию `length()` из библиотеки — её нужно просто скопировать как есть. Как устроены импорты, разберём в уроках про модули. + Если изменится длина строки, то последний символ тоже сдвинется, и придётся снова вычислять его индекс. ## Выход за границы строки -В отличие от некоторых языков, в JavaScript обращение к несуществующему индексу не вызывает ошибку — возвращается специальное значение `undefined`: +В отличие от некоторых языков, в JavaScript обращение к несуществующему индексу не вызывает ошибку — возвращается специальное значение `undefined`. Это «ничего нет» в мире JavaScript; подробно разберём его в модуле про типы данных. ```javascript console.log(firstName[9]); // => undefined diff --git a/modules/31-advanced-strings/70-slices/ru/README.md b/modules/31-advanced-strings/70-slices/ru/README.md index 50190552..e072bdf9 100644 --- a/modules/31-advanced-strings/70-slices/ru/README.md +++ b/modules/31-advanced-strings/70-slices/ru/README.md @@ -19,6 +19,8 @@ const year = value.slice(6, 10); console.log(year); // => 2034 ``` +Запись «значение, точка, имя» — это вызов метода; что такое методы, разберём в уроке про объекты, пока достаточно использовать `.slice()` по образцу. + Вызов `value.slice(6, 10)` берёт символы с индекса 6 по 9 включительно. Формат: ```text @@ -88,16 +90,7 @@ console.log(value.slice(start, end)); // => exle ## Чего нет у slice() -В некоторых языках (например, в Python) у среза есть третий параметр — шаг, и им можно, например, взять каждый второй символ или развернуть строку. У метода `slice()` шага нет. Поэтому такие задачи в JavaScript решают иначе: - -- развернуть строку можно так: - - ```javascript - const value = 'Hexlet'; - console.log(value.split('').reverse().join('')); // => telxeH - ``` - -- взять каждый второй символ — с помощью цикла (к циклам мы вернёмся позже). +В некоторых языках (например, в Python) у среза есть третий параметр — шаг, и им можно, например, взять каждый второй символ или развернуть строку. У метода `slice()` шага нет. Подобные задачи в JavaScript решают с помощью циклов и других инструментов, к которым мы вернёмся позже. Существует и похожий метод `substring()`. Он работает почти как `slice()`, но не понимает отрицательные индексы (трактует их как `0`), поэтому для извлечения «хвоста» строки удобнее `slice()`. diff --git a/modules/35-calling-functions/135-calling-functions-default-params/ru/README.md b/modules/35-calling-functions/135-calling-functions-default-params/ru/README.md index c68e32ad..54ec8752 100644 --- a/modules/35-calling-functions/135-calling-functions-default-params/ru/README.md +++ b/modules/35-calling-functions/135-calling-functions-default-params/ru/README.md @@ -1,11 +1,13 @@ У некоторых функций есть **необязательные параметры**. Это значит, что для них заранее задано значение по умолчанию, и при вызове такой параметр можно не указывать. -Рассмотрим метод `toFixed()`, который округляет число до заданного количества знаков после запятой и возвращает строку: +Рассмотрим метод `toFixed()`, который округляет число до заданного количества знаков после запятой. `toFixed()` — метод, то есть функция, прикреплённая к значению и вызываемая через точку; подробно методы разберём в уроке про объекты. ```javascript const result = (10.25).toFixed(1); // => '10.3' ``` +Обратите внимание на кавычки в результате — `toFixed()` возвращает **строку**, а не число, поэтому использовать её в дальнейших вычислениях напрямую нельзя. + Мы передали ему одно значение — точность округления (1 знак после запятой). Но этот параметр необязателен. Если его не указать, используется значение по умолчанию `0` — округление до целого: ```javascript