Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions modules/10-basics/45-testing/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ console.log(10);
Поэтому всегда внимательно читайте условие задачи и вывод тестов. Там почти наверняка есть указание на ошибку.

Если же вы уверены, что проблема в задании или нашли неточность, напишите в наше [сообщество](https://t.me/hexletcommunity), в канал _'Обратная связь'_.

Кроме упражнений на сайте, будет крайне полезно экспериментировать с кодом в [консоли браузера](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console). В любой ситуации, когда вы недопоняли что-то или хотите попробовать разные варианты, смело открывайте консоль и вводите туда код.
23 changes: 23 additions & 0 deletions modules/30-variables/10-definition/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,3 +123,26 @@ console.log(greeting2);
## Где создавать переменные

Программисты стараются создавать переменные ближе к месту, где они используются. Это делает код более читаемым. Особенно важно это в больших программах, где переменных может быть десятки и сотни тысяч.

## Ошибки при работе с переменными

Порядок следования инструкций в коде с переменными играет огромное значение. Переменная должна быть определена до того, как будет использована. Ниже пример ошибки, которую очень часто допускают новички:

```javascript
// Uncaught ReferenceError: greeting is not defined
console.log(greeting);
let greeting = 'Father!';
```

Запуск программы с кодом из примера выше завершается ошибкой `ReferenceError: greeting is not defined`. `ReferenceError` — это ошибка обращения. Она означает, что в коде используется имя (идентификатор), которое не определено. В самом сообщении об этом говорят прямо: `greeting is not defined` — «greeting не определён».

Кроме неправильного порядка определения, в JavaScript встречаются банальные опечатки — как при использовании переменной, так и при её объявлении. Количество подобных ошибок уменьшается за счёт правильно настроенного редактора: он подсвечивает имена, которые используются без объявления, и предупреждает о возможных проблемах.

Ещё одна распространённая ошибка — попытаться объявить уже объявленную переменную с помощью `let`:

```javascript
let greeting = 'Father!';
let greeting = 'Father!'; // SyntaxError: Identifier 'greeting' has already been declared
```

Объявлять переменную дважды нельзя. Если нужно другое значение — создайте новую переменную с другим именем или просто переприсвойте значение уже существующей `let`-переменной без ключевого слова.
Loading