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