--- id: 587d7b87367417b2b2512b41 title: Declarar variáveis somente de leitura com a palavra-chave const challengeType: 1 forumTopicId: 301201 dashedName: declare-a-read-only-variable-with-the-const-keyword --- # --description-- A palavra-chave `let` não é a única nova forma de declarar variáveis. Na versão ES6, você também pode declarar variáveis usando a palavra-chave `const`. `const` possui todos os recursos maravilhosos que `let` tem, com o bônus adicional que variáveis declaradas usando `const` são somente de leitura. Elas têm um valor constante, o que significa que a variável atribuída com `const` não pode ser atribuída novamente: ```js const FAV_PET = "Cats"; FAV_PET = "Dogs"; ``` O console vai exibir um erro devido à reatribuição do valor de `FAV_PET`. Você sempre deve nomear variáveis que você não quer reatribuir, usando a palavra-chave `const`. Isso ajuda quando você acidentalmente tenta reatribuir uma variável que deveria ser constante. Uma prática comum ao nomear constantes é colocar todas as letras em maiúsculas, com palavras separadas por sublinhado (underscore). **Observação:** é comum que os desenvolvedores usem nomes de variáveis maiúsculas para valores imutáveis e minúsculas ou camelCase para valores mutáveis (objetos e arrays). Você aprenderá mais sobre objetos, arrays e valores imutáveis e mutáveis em desafios futuros. Em desafios posteriores, você também verá exemplos de identificadores de variáveis maiúsculas, minúsculas ou em camelCase. # --instructions-- Altere o código para que todas as variáveis sejam declaradas usando `let` ou `const`. Use `let` quando você quiser que a variável mude e `const` quando você quiser que a variável permaneça constante. Além disso, renomeie as variáveis declaradas com `const` para estar em conformidade com as práticas comuns, o que significa que constantes devem ter todas as letras em maiúsculo. # --hints-- `var` não deve existir no seu código. ```js (getUserInput) => assert(!getUserInput('index').match(/var/g)); ``` Você deve alterar `fCC` para uma string toda em letras maiúsculas. ```js (getUserInput) => { assert(getUserInput('index').match(/(FCC)/)); assert(!getUserInput('index').match(/fCC/)); } ``` `FCC` deve ser uma variável constante declarada com `const`. ```js assert.equal(FCC, 'freeCodeCamp'); assert.match(code, /const\s+FCC/); ``` A variável `fact` deve ser declarada com `let`. ```js (getUserInput) => assert(getUserInput('index').match(/(let fact)/g)); ``` `console.log` deve ser alterado para imprimir as variáveis `FCC` e `fact`. ```js (getUserInput) => assert(getUserInput('index').match(/console\.log\(\s*FCC\s*\,\s*fact\s*\)\s*;?/g)); ``` # --seed-- ## --seed-contents-- ```js var fCC = "freeCodeCamp"; // Change this line var fact = "is cool!"; // Change this line fact = "is awesome!"; console.log(fCC, fact); // Change this line ``` # --solutions-- ```js const FCC = "freeCodeCamp"; let fact = "is cool!"; fact = "is awesome!"; console.log(FCC, fact); ```