52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Let and Const
 | |
| localeTitle: Deixe e Const
 | |
| ---
 | |
| ## Deixei
 | |
| 
 | |
| O let é semelhante ao var, mas o let tem o escopo. let só é acessível no nível de bloco que está definido.
 | |
| ```
 | |
| if (true) { 
 | |
|  let a = 40; 
 | |
|  console.log(a); //40 
 | |
|  } 
 | |
|  console.log(a); // undefined 
 | |
| ```
 | |
| 
 | |
| No exemplo acima, a variável 'a' é definida dentro de uma instrução If e, portanto, não é acessível fora da função.
 | |
| 
 | |
| Outro exemplo:
 | |
| ```
 | |
| let a = 50; 
 | |
|  let b = 100; 
 | |
|  if (true) { 
 | |
|  let a = 60; 
 | |
|  var c = 10; 
 | |
|  console.log(a/c); // 6 
 | |
|  console.log(b/c); // 10 
 | |
|  } 
 | |
|  console.log(c); // 10 
 | |
|  console.log(a); // 50 
 | |
| ```
 | |
| 
 | |
| ## Const
 | |
| 
 | |
| Const é usado para atribuir um valor constante à variável. E o valor não pode ser alterado. Está consertado.
 | |
| ```
 | |
| const a = 50; 
 | |
|  a = 60; // shows error. You cannot change the value of const. 
 | |
|  const b = "Constant variable"; 
 | |
|  b = "Assigning new value"; // shows error. 
 | |
| ```
 | |
| 
 | |
| Considere outro exemplo.
 | |
| ```
 | |
| const LANGUAGES = ['Js', 'Ruby', 'Python', 'Go']; 
 | |
|  LANGUAGES = "Javascript"; // shows error. 
 | |
|  LANGUAGES.push('Java'); // Works fine. 
 | |
|  console.log(LANGUAGES); // ['Js', 'Ruby', 'Python', 'Go', 'Java'] 
 | |
| ```
 | |
| 
 | |
| Isso pode ser um pouco confuso.
 | |
| 
 | |
| Considere desta maneira. Sempre que você define uma variável const, o Javascript faz referência ao endereço do valor para a variável. Em nosso exemplo, a variável 'LANGUAGES' faz referência à memória alocada para o array. Portanto, você não pode alterar a variável para fazer referência a algum outro local de memória posteriormente. Ao longo do programa, ele faz referência apenas ao array. |