Files

84 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

---
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.
**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 que estejam de acordo com as práticas comuns.
# --hints--
`var` não deve existir no código.
```js
assert.notMatch(code, /var/g);
```
Você deve alterar `fCC` para uma string toda em letras maiúsculas.
```js
assert.match(code, /(FCC)/);
assert.notMatch(code, /(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
assert.match(code, /(let\s+fact)/g);
```
`console.log` deve ser alterado para imprimir as variáveis `FCC` e `fact`.
```js
assert.match(code, /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);
```