You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/02-first-steps/04-variables/article.md
+26-47Lines changed: 26 additions & 47 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Variáveis
2
2
3
-
Na maioria das vezes, um aplicativo JavaScript precisa trabalhar com informações. Aqui estão dois exemplos:
3
+
Na maioria das vezes, um aplicativo JavaScript precisa de trabalhar com informações. Aqui estão dois exemplos:
4
4
1. Uma loja online -- a informação pode incluir mercadorias vendidas e um carrinho de compras.
5
5
2. Uma aplicação de chat -- a informação pode incluir usuários, mensagens e muito mais.
6
6
@@ -12,11 +12,7 @@ Uma [variável](https://pt.wikipedia.org/wiki/Variável_(programação)) é um "
12
12
13
13
Para criar uma variável em JavaScript, use a palavra-chave `let`.
14
14
15
-
<<<<<<< HEAD
16
-
A declaração abaixo cria (em outras palavras: * declara * ou * define *) uma variável com o nome "message":
17
-
=======
18
-
The statement below creates (in other words: *declares*) a variable with the name "message":
19
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
15
+
A declaração abaixo cria (em outras palavras: *declara*) uma variável com o nome "message":
20
16
21
17
```js
22
18
let message;
@@ -74,7 +70,7 @@ let user = 'John',
74
70
message ='Olá';
75
71
```
76
72
77
-
... Ou até mesmo no estilo "comma-first":
73
+
... Ou até mesmo no estilo "vírgula-primeiro":
78
74
79
75
```js no-beautify
80
76
let user ='John'
@@ -84,7 +80,7 @@ let user = 'John'
84
80
85
81
Tecnicamente, todas estas variantes fazem a mesma coisa. Então, é uma questão de gosto pessoal e estética.
86
82
87
-
````smart header="`var`instead of`let`"
83
+
````smart header="`var`em vez de`let`"
88
84
Em scripts antigos, você também pode encontrar outra palavra-chave: `var` em vez de `let`:
89
85
90
86
```js
@@ -129,7 +125,7 @@ let hello = 'Olá Mundo!';
129
125
let message;
130
126
131
127
*!*
132
-
// copiar 'Olá Mundo' do hello para message
128
+
// copiar 'Olá Mundo' de hello para message
133
129
message = hello;
134
130
*/!*
135
131
@@ -138,31 +134,26 @@ alert(hello); // Olá Mundo!
138
134
alert(message); // Olá Mundo!
139
135
```
140
136
141
-
<<<<<<< HEAD
142
-
```smart header="Linguagens funcionais"
143
-
É interessante notar que linguagens de programação [funcional](https://en.wikipedia.org/wiki/Functional_programming), como [Scala](http://www.scala-lang.org/) or [Erlang](http://www.erlang.org/), proibem a modificação de valores de variáveis.
144
-
=======
145
-
````warn header="Declaring twice triggers an error"
146
-
A variable should be declared only once.
137
+
````warn header="Declarar duas vezes lança um erro"
138
+
Uma variável deve ser declarada apenas uma vez.
147
139
148
-
A repeated declaration of the same variable is an error:
140
+
Uma declaração repetida da mesma variável é um erro:
149
141
150
142
```js run
151
-
let message = "This";
143
+
let message = "Isto";
152
144
153
-
// repeated 'let' leads to an error
154
-
let message = "That"; // SyntaxError: 'message' has already been declared
145
+
// um 'let' repetido conduz a um erro
146
+
let message = "Aquilo"; // SyntaxError: 'message' has already been declared (Erro-de-sintaxe: 'message' já foi declarada)
155
147
```
156
-
So, we should declare a variable once and then refer to it without `let`.
148
+
Assim, devemos declarar uma variável apenas uma vez e depois fazer referência a ela sem o `let`.
157
149
````
158
150
159
-
```smart header="Functional languages"
160
-
It's interesting to note that there exist [functional](https://en.wikipedia.org/wiki/Functional_programming) programming languages, like [Scala](http://www.scala-lang.org/) or [Erlang](http://www.erlang.org/) that forbid changing variable values.
161
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
151
+
```smart header="Linguagens funcionais"
152
+
É interessante notar que existem linguagens de programação [funcionais](https://en.wikipedia.org/wiki/Functional_programming), como [Scala](http://www.scala-lang.org/) ou [Erlang](http://www.erlang.org/), que proíbem a modificação de valores de variáveis.
162
153
163
154
Em tais linguagens, uma vez que o valor é armazenado "na box", ele está lá para sempre. Se precisarmos de armazenar algo mais, a linguagem nos obriga a criar uma nova box (declarar uma nova variável). Não podemos reutilizar a antiga.
164
155
165
-
Embora possa parecer um pouco estranho à primeira vista, estas línguas são bastante capazes de um desenvolvimento sério. Mais do que isso, há áreas como cálculos paralelos onde essa limitação confere certos benefícios. Estudar tal linguagem (mesmo que você não esteja planejando usá-la em breve) é recomendado para ampliar a mente.
156
+
Embora possa parecer um pouco estranho à primeira vista, estas linguagens são bastante capazes de um desenvolvimento sério. Mais do que isso, há áreas como cálculos paralelos onde essa limitação confere certos benefícios. Estudar alguma dessas linguagens (mesmo que você não esteja planejando usá-la em breve) é recomendado para ampliar a mente.
166
157
```
167
158
168
159
## Nomeação de variável [#variable-naming]
@@ -179,7 +170,7 @@ let userName;
179
170
let test123;
180
171
```
181
172
182
-
Quando o nome contém várias palavras, [camelCase](https://en.wikipedia.org/wiki/CamelCase) é normalmente utilizado. Isto é: as palavras vão uma após a outra, cada palavra exceto a primeira que começa com uma letra maiúscula: `myVeryLongName`.
173
+
Quando o nome contém várias palavras, o [camelCase](https://en.wikipedia.org/wiki/CamelCase) é normalmente utilizado. Isto é: as palavras vão uma após a outra, e cada palavra exceto a primeira começa com uma letra maiúscula: `myVeryLongName`.
183
174
184
175
O que é interessante -- o sinal de dólar `'$'` e o sublinhado `'_'` também podem ser usados em nomes. Eles são símbolos regulares, assim como letras, sem nenhum significado especial.
185
176
@@ -204,23 +195,19 @@ let my-name; // hífens '-' não são permitidos no nome
204
195
Variáveis chamadas `apple` e `AppLE` são duas variáveis diferentes.
205
196
```
206
197
207
-
````smart header="Letras não inglesas são permitidas, mas não são recomendadas"
198
+
````smart header="Letras de alfabeto não-Latin são permitidas, mas não são recomendadas"
208
199
É possível usar qualquer idioma, incluindo letras cirílicas ou até hieróglifos, como este:
209
200
210
201
```js
211
202
let имя = '...';
212
203
let 我 = '...';
213
204
```
214
205
215
-
<<<<<<< HEAD
216
-
Tecnicamente, não há erro aqui, tais nomes são permitidos, mas há uma tradição internacional de usar o inglês em nomes de variáveis. Mesmo que estejamos escrevendo um pequeno script, ele pode ter uma longa vida pela frente. Pessoas de outros países podem precisar lê-lo em algum momento.
217
-
=======
218
-
Technically, there is no error here. Such names are allowed, but there is an international convention to use English in variable names. Even if we're writing a small script, it may have a long life ahead. People from other countries may need to read it some time.
219
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
206
+
Tecnicamente, não há erro aqui. Tais nomes são permitidos, mas há uma tradição internacional de usar o inglês em nomes de variáveis. Mesmo que estejamos escrevendo um pequeno script, ele pode ter uma longa vida pela frente. Pessoas de outros países podem precisar de o ler em algum momento.
220
207
````
221
208
222
209
````warn header="Nomes reservados"
223
-
Existe uma [lista de palavras reservadas](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords), que não pode ser usada como nomes de variáveis porque elas são usadas pela própria linguagem.
210
+
Existe uma [lista de palavras reservadas](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords), que não podem ser usadas como nomes de variáveis porque elas são usadas pela própria linguagem.
224
211
225
212
Por exemplo: `let`, `class`, `return`, e `function` são reservadas.
226
213
@@ -234,7 +221,7 @@ let return = 5; // também não pode nomear como "return", erro!
234
221
235
222
````warn header="Uma atribuição sem `use strict`"
236
223
237
-
Normalmente, precisamos definir uma variável antes de usá-la. Mas nos velhos tempos, era tecnicamente possível criar uma variável através de uma mera atribuição do valor sem usar `let`. Isso ainda funciona se não colocarmos `use strict` em nossos scripts para manter a compatibilidade com scripts antigos.
224
+
Normalmente, precisamos definir uma variável antes de a usar. Mas nos velhos tempos, era tecnicamente possível criar uma variável através de uma mera atribuição de valor, sem usar `let`. Isso ainda funciona se não colocarmos `use strict` em nossos scripts para manter a compatibilidade com scripts antigos.
238
225
239
226
```js run no-strict
240
227
// nota: nenhum "use strict" neste exemplo
@@ -263,19 +250,15 @@ Para declarar uma variável constante (imutável), use `const` em vez de `let`:
263
250
const myBirthday = '18.04.1982';
264
251
```
265
252
266
-
<<<<<<< HEAD
267
253
Variáveis declaradas usando `const` são chamadas de "constantes". Elas não podem ser alteradas. Uma tentativa de fazer isso causaria um erro:
268
-
=======
269
-
Variables declared using `const` are called "constants". They cannot be reassigned. An attempt to do so would cause an error:
270
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
271
254
272
255
```js run
273
256
const myBirthday = '18.04.1982';
274
257
275
258
myBirthday = '01.01.2001'; // erro, não é possível reatribuir a constante!
276
259
```
277
260
278
-
Quando um programador é certo que uma variável nunca mudará, eles podem declará-la com `const` para garantir e comunicar claramente esse fato a todos.
261
+
Quando um programador está certo de que uma variável nunca mudará, ele pode declará-la com `const` para garantir e comunicar claramente esse fato a todos.
279
262
280
263
281
264
### Constantes maiúsculas
@@ -314,21 +297,17 @@ const pageLoadTime = /* tempo necessário para carregar uma página web */;
314
297
315
298
O valor de `pageLoadTime` não é conhecido antes do carregamento da página, portanto é nomeado normalmente. Mas ainda é uma constante porque não muda após a atribuição.
316
299
317
-
Em outras palavras, constantes com nomes maiúsculos são usadas apenas como pseudônimos para valores "codificação rígida".
300
+
Em outras palavras, constantes com nomes maiúsculos são usadas apenas como pseudônimos para valores de "codificação rígida".
318
301
319
302
## Nomeie as coisas como devem ser
320
303
321
304
Falando em variáveis, há mais uma coisa extremamente importante.
322
305
323
-
<<<<<<< HEAD
324
-
Por favor, nomeie as suas variáveis de forma sensata. Tome tempo para pensar sobre isso.
325
-
=======
326
-
A variable name should have a clean, obvious meaning, describing the data that it stores.
327
-
>>>>>>> e074a5f825a3d10b0c1e5e82561162f75516d7e3
306
+
O nome de uma variável deve ter um significado claro e óbvio, descrevendo os dados que ela armazena.
328
307
329
-
A nomenclatura variável é uma das habilidades mais importantes e complexas em programação. Uma rápida olhada em nomes de variáveis pode revelar qual código foi escrito por um iniciante versus um desenvolvedor experiente.
308
+
A nomenclatura variável é uma das habilidades mais importantes e complexas em programação. Uma rápida olhada em nomes de variáveis pode revelar que código foi escrito por um iniciante versus um desenvolvedor experiente.
330
309
331
-
Em um projeto real, a maior parte do tempo é gasto modificando e estendendo uma base de código existente ao invés de escrever algo completamente separado do zero. Quando voltamos a algum código depois de fazer outra coisa por um tempo, é muito mais fácil encontrar informações bem rotuladas. Ou, em outras palavras, quando as variáveis têm bons nomes.
310
+
Em um projeto real, a maior parte do tempo é gasto modificando e estendendo uma base de código existente ao invés de escrever algo completamente separado do zero. Quando voltamos a algum código depois de fazer outra coisa por um tempo, é muito mais fácil encontrar informação se for bem rotulada. Ou, em outras palavras, quando as variáveis têm bons nomes.
332
311
333
312
Por favor, gaste tempo pensando sobre o nome certo para uma variável antes de declará-lo. Fazê-lo irá recompensá-lo generosamente.
334
313
@@ -348,7 +327,7 @@ Como resultado, suas variáveis são como caixas em que as pessoas jogam coisas
348
327
349
328
Tais programadores economizam um pouco na declaração de variáveis, mas perdem dez vezes mais na depuração.
350
329
351
-
Uma variável extra é o bom, não ruim.
330
+
Uma variável extra é bom, não ruim.
352
331
353
332
Os minificadores e navegadores JavaScript modernos otimizam o código o suficiente para que ele não crie problemas de desempenho. Usar variáveis diferentes para valores diferentes pode até mesmo ajudar o mecanismo a otimizar seu código.
The visitor can type something in the prompt input field and press OK. Then we get that text in the `result`. Or they can cancel the input by pressing Cancel or hitting the `key:Esc` key, then we get `null` as the `result`.
0 commit comments