介绍下JavaScript中的let和const关键字，要求对照解释，答案放在表格中，markdown格式输出。
user
| 特性/关键字 | `let` | `const` |
|-------------|-------|---------|
| 声明变量    | 用于声明一个变量，该变量作用域为块级，值可以被改变。 | 用于声明一个常量，该常量作用域也是块级，但值不可改变（若为对象或数组类型，则其中的内容可以改变）。 |
| 可变性      | 变量值可以多次赋值和修改。 | 一旦赋值初值后，不可重新赋值。 |
| 初始化      | 声明时不必初始化赋值，可以延后到需要时赋值。 | 必须在声明时初始化赋值。 |
| 举例        | ```javascript let a = 10; a = 20; console.log(a); // 20 ``` | ```javascript const b = 10; // b = 20; // 会报错 console.log(b); // 10 ``` |
| 适用场景    | 当变量的值需要在程序的运行过程中发生变化时使用。 | 当照常量不需要变动，或者定义的是一个不可变的数据类型（如字符串、数字等）时使用。 |
assistant