--- id: 587d7b87367417b2b2512b3f title: Explore Differences Between the var and let Keywords challengeType: 1 videoUrl: '' localeTitle: Исследуйте различия между ключевыми словами var и let --- ## Description
Одна из самых больших проблем с объявлением переменных с ключевым словом var заключается в том, что вы можете перезаписывать объявления переменных без ошибок.
var camper = 'Джеймс';
var camper = 'David';
console.log (отдыхающий);
// logs 'David'
Как вы можете видеть в приведенном выше коде, переменная camper изначально объявляется James а затем переопределяется как David . В небольшом приложении вы можете не столкнуться с этой проблемой, но когда ваш код станет больше, вы можете случайно перезаписать переменную, которую вы не намеревались перезаписать. Поскольку это поведение не вызывает ошибки, поиск и исправление ошибок усложняется.
В ES6 было введено новое ключевое слово с именем let чтобы решить эту потенциальную проблему с помощью ключевого слова var . Если вы заменили var с let в объявлениях переменных вышеприведенного кода, результатом будет ошибка.
пусть кемпер = «Джеймс»;
пусть кемпер = «Дэвид»; // выдает ошибку
Эту ошибку можно увидеть в консоли вашего браузера. Таким образом, в отличие от var , при использовании let переменная с тем же именем может быть объявлена ​​только один раз. Обратите внимание на "use strict" . Это позволяет использовать Strict Mode, который ловит ошибки общего кодирования и «небезопасные» действия. Например:
«использовать строгую»;
x = 3,14; // выдает ошибку, поскольку x не объявляется
## Instructions
Обновите код, чтобы использовать ключевое слово let .
## Tests
```yml tests: - text: var не существует в коде. testString: 'getUserInput => assert(!getUserInput("index").match(/var/g),"var does not exist in code.");' - text: catName должен быть Oliver . testString: 'assert(catName === "Oliver", "catName should be Oliver.");' - text: quote должна быть "Oliver says Meow!" testString: 'assert(quote === "Oliver says Meow!", "quote should be "Oliver says Meow!"");' ```
## Challenge Seed
```js var catName; var quote; function catTalk() { "use strict"; catName = "Oliver"; quote = catName + " says Meow!"; } catTalk(); ```
## Solution
```js // solution required ```