<commit_before>---
title: Let and Const
localeTitle: 让和Const
---
## 让

let类似于var但是有范围。 let只能在定义的块级别中访问。
```
if (true) { 
 let a = 40; 
 console.log(a); //40 
 } 
 console.log(a); // undefined 
```

在上面的示例中，变量'a'在If语句中定义，因此在函数外部无法访问。

另一个例子：
```
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 a = 50; 
 a = 60; // shows error. You cannot change the value of const. 
 const b = "Constant variable"; 
 b = "Assigning new value"; // shows error. 
```

考虑另一个例子。
```
const LANGUAGES = ['Js', 'Ruby', 'Python', 'Go']; 
 LANGUAGES = "Javascript"; // shows error. 
 LANGUAGES.push('Java'); // Works fine. 
 console.log(LANGUAGES); // ['Js', 'Ruby', 'Python', 'Go', 'Java'] 
```

这可能有点混乱。

以这种方式考虑。无论何时定义const变量，Javascript都会将值的地址引用给变量。在我们的示例中，变量'LANGUAGES'实际上引用了分配给数组的内存。因此，您无法在以后更改变量以引用其他内存位置。在整个程序中它只引用数组。<commit_msg>fix some translate error (#34139)<commit_after>---
title: Let and Const
localeTitle: let 和 const
---
## let

let类似于var，但是let有作用域。 let只能在定义的块级作用域中访问。
```
if (true) { 
 let a = 40; 
 console.log(a); //40 
 } 
 console.log(a); // undefined 
```

在上面的示例中，变量'a'在If语句中定义，因此在函数外部无法访问。

另一个例子：
```
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声明一个常量。常量的值不能修改。
```
const a = 50; 
 a = 60; // shows error. You cannot change the value of const. 
 const b = "Constant variable"; 
 b = "Assigning new value"; // shows error. 
```

看另一个例子。
```
const LANGUAGES = ['Js', 'Ruby', 'Python', 'Go']; 
 LANGUAGES = "Javascript"; // shows error. 
 LANGUAGES.push('Java'); // Works fine. 
 console.log(LANGUAGES); // ['Js', 'Ruby', 'Python', 'Go', 'Java'] 
```

可能会有点迷惑。

换一种方式想。无论何时定义const变量，Javascript都会将值的地址引用给变量。在我们的示例中，变量'LANGUAGES'实际上引用了分配给数组的内存。因此，您无法更改变量以引用其他内存位置。在整个程序中它只引用数组。
{'fraction_non_alphanumeric': 0.19188376753507014, 'fraction_numerical': 0.02655310621242485, 'mean_word_length': 3.487640449438202, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2762183', 'n_tokens_mistral': 1111, 'n_tokens_neox': 1031, 'n_words': 189}