diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/explore-differences-between-the-var-and-let-keywords.portuguese.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/explore-differences-between-the-var-and-let-keywords.portuguese.md index 4af28bc4a7..699f493000 100644 --- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/explore-differences-between-the-var-and-let-keywords.portuguese.md +++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/explore-differences-between-the-var-and-let-keywords.portuguese.md @@ -3,14 +3,46 @@ id: 587d7b87367417b2b2512b3f title: Explore Differences Between the var and let Keywords challengeType: 1 videoUrl: '' -localeTitle: Explore as diferenças entre o var e let +localeTitle: Explore as diferenças entre as palavras-chave var e let --- ## Description -
Um dos maiores problemas com a declaração de variáveis ​​com a palavra-chave var é que você pode sobrescrever declarações de variáveis ​​sem um erro.
var camper = 'James';
var camper = 'David';
console.log (campista);
// loga 'David'
Como você pode ver no código acima, a variável camper é originalmente declarada como James e, em seguida, sobrescrita como sendo David . Em um aplicativo pequeno, você pode não encontrar esse tipo de problema, mas quando o código se torna maior, você pode acidentalmente sobrescrever uma variável que não pretende sobrescrever. Como esse comportamento não gera um erro, a pesquisa e a correção de erros se tornam mais difíceis.
Uma nova palavra-chave chamada let foi introduzida no ES6 para resolver esse possível problema com a palavra-chave var . Se você fosse substituir var com let nas declarações de variáveis ​​do código acima, o resultado seria um erro.
let campista = 'James';
let campista = 'David'; // lança um erro
Este erro pode ser visto no console do seu navegador. Portanto, ao contrário de var , ao usar let , uma variável com o mesmo nome só pode ser declarada uma vez. Observe o "use strict" . Isso habilita o Modo Estrito, que detecta erros comuns de codificação e ações "inseguras". Por exemplo:
"use strict";
x = 3,14; // lança um erro porque x não está declarado
+
+Um dos maiores problemas com a declaração de variáveis com a palavra-chave var é que você pode sobrescrever declarações de variáveis sem um erro. + +```js +var camper = 'James'; +var camper = 'David'; +console.log(camper); +// retorna 'David' +``` + +Como você pode ver no código acima, a variável `camper` é declarada originalmente como `James` e, em seguida, sobrescrita como sendo `David`. +Em um aplicativo pequeno, você pode não encontrar esse tipo de problema, mas quando seu código se torna maior, você pode sobrescrever acidentalmente uma variável que não pretendia sobrescrever. +Como esse comportamento não gera um erro, a pesquisa e a correção de erros se tornam mais difíceis. +Uma nova palavra-chave chamada let foi introduzida no ES6 para resolver esse possível problema com a palavra-chave var. +Se você substituísse var por let nas declarações de variáveis do código acima, o resultado seria um erro. + +```js +let camper = 'James'; +let camper = 'David'; // gera um erro +``` + +Este erro pode ser visto no console do seu navegador. +Portanto, ao contrário de var, ao usar let, uma variável com o mesmo nome só pode ser declarada uma vez. +Observe o "use strict". Isso habilita o Modo Estrito, que detecta erros comuns de codificação e ações "inseguras". Por exemplo: + +```js +"use strict"; +x = 3.14; // gera um erro porque x não está declarado +``` + +
## Instructions -
Atualize o código para que ele use apenas a palavra-chave let .
+
+Atualize o código para que ele use apenas a palavra-chave let. +
## Tests
@@ -18,11 +50,11 @@ localeTitle: Explore as diferenças entre o var e let ```yml tests: - text: var não existe no código. - testString: 'getUserInput => assert(!getUserInput("index").match(/var/g),"var does not exist in code.");' - - text: catName deve ser Oliver . - testString: 'assert(catName === "Oliver", "catName should be Oliver.");' - - text: quote deve ser "Oliver says Meow!" - testString: 'assert(quote === "Oliver says Meow!", "quote should be "Oliver says Meow!"");' + testString: getUserInput => assert(!getUserInput('index').match(/var/g)); + - text: catName deve ser Oliver. + testString: assert(catName === "Oliver"); + - text: quote deve ser "Oliver says Meow!" + testString: assert(quote === "Oliver says Meow!"); ``` @@ -44,7 +76,6 @@ function catTalk() { } catTalk(); - ``` @@ -57,6 +88,15 @@ catTalk();
```js -// solution required +let catName; +let quote; +function catTalk() { + 'use strict'; + + catName = 'Oliver'; + quote = catName + ' says Meow!'; +} +catTalk(); ``` +