4.3 KiB
4.3 KiB
id, title, challengeType, forumTopicId, localeTitle
id | title | challengeType | forumTopicId | localeTitle |
---|---|---|---|---|
587d7b87367417b2b2512b41 | Declare a Read-Only Variable with the const Keyword | 1 | 301201 | Объявлять переменную только для чтения с помощью ключевого слова const |
Description
let
не является единственным новым способом объявления переменных. В ES6 вы также можете объявлять переменные, используя ключевое слово const
. const
имеет все потрясающие возможности, которые имеет let
, с дополнительным бонусом, что переменные, объявленные с использованием const
, доступны только для чтения. Они являются постоянной величиной, это означает, что когда переменная присваивается const
, она не может быть переопределена. "use strict"Как вы можете видеть, попытка переопределить переменную, объявленную с помощью
const FAV_PET = "Кошки";
FAV_PET = "Собаки"; // возвращает ошибку
const
вызовет ошибку. Вы всегда должны указывать переменные, которые вы не хотите переопределять, используя ключевое слово const
. Это помогает, когда вы случайно пытаетесь переопределить переменную, которая должна оставаться постоянной. Обычной практикой является писать все буквы в названии переменной заглавными, а слова разделять нижним подчеркиванием.
Instructions
let
или const
. Используйте let
когда вы хотите, чтобы переменная изменилась, и const
когда вы хотите, чтобы переменная оставалась постоянной. Кроме того , переименовывать переменные , объявленные с помощью const
, чтобы соответствовать общей практике, то есть константы должны быть заглавными буквами.
Tests
tests:
- text: <code>var</code> does not exist in your code.
testString: getUserInput => assert(!getUserInput('index').match(/var/g));
- text: <code>SENTENCE</code> should be a constant variable declared with <code>const</code>.
testString: getUserInput => assert(getUserInput('index').match(/(const SENTENCE)/g));
- text: <code>i</code> should be declared with <code>let</code>.
testString: getUserInput => assert(getUserInput('index').match(/(let i)/g));
- text: <code>console.log</code> should be changed to print the <code>SENTENCE</code> variable.
testString: getUserInput => assert(getUserInput('index').match(/console\.log\(\s*SENTENCE\s*\)\s*;?/g));
Challenge Seed
function printManyTimes(str) {
"use strict";
// change code below this line
var sentence = str + " is cool!";
for (var i = 0; i < str.length; i+=2) {
console.log(sentence);
}
// change code above this line
}
printManyTimes("freeCodeCamp");
Solution
function printManyTimes(str) {
"use strict";
// change code below this line
const SENTENCE = str + " is cool!";
for (let i = 0; i < str.length; i+=2) {
console.log(SENTENCE);
}
// change code above this line
}
printManyTimes("freeCodeCamp");