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();
```
+