JavaScript 变量:let 和 const 该用谁?

JavaScript 变量:let 和 const 该用谁?

生活中的例子 01

游戏得分:分数会一直变,所以用 let。

生活中的例子 02

圆周率 (π):数学常数永远是 3.14...,所以用 const。

生活中的例子 03

用户的出生年份:这个永远不会变,必须用 const。

生活中的例子 04

购物车商品数量:随时可能增加或减少,用 let。

新手入门指南

COPY

嘿,朋友!来聊聊 JS 的"盒子"

欢迎来到 JavaScript 的世界!今天我们要解决一个让无数新手纠结的问题:写代码时,我到底该用 let 还是 const

别被这两个英文单词吓到了,其实它们的道理就像你整理房间一样简单。

1. 想象你在搬家(生活中的类比)

想象你正在打包东西搬家,你手里有两种箱子:

  • 普通的开口纸箱 (`let`)

你在箱子上贴个标签叫"今天的零食"。你可以把里面的薯片拿出来,换成饼干,再换成苹果。里面的东西是可以随时更换的。

  • 透明的密封展示柜 (`const`)

你在柜子上贴个标签叫"我的奖杯"。一旦把奖杯放进去,你就用强力胶把柜子封死了。里面的东西放进去就不能换了(至少不能整个换掉)。

在代码里,这就是 letconst 的区别。

2. 它们到底是啥?

  • `let` :代表 "Let it change"(让它变)。当你定义一个变量,并且你知道以后肯定会修改它的值时,就用它。
  • `const` :代表 "Constant"(常量/不变)。当你定义一个值,并且你想向全世界宣布:"嘿!这个值永远不许改!"时,就用它。

3. 代码是怎么写的?

让我们来看看实际的代码长什么样。这比你想象的要容易得多。

`let` 的例子:游戏计分

复制代码
// 游戏开始了,初始分是 0
let score = 0;

// 你打中了一个怪兽!
score = 10; 
// 没问题!因为是用 let 定义的,盒子是开口的,我们可以改写它。

console.log(score); // 输出:10

`const` 的例子:出生年份

复制代码
// 你的出生年份是固定的
const birthYear = 1998;

// 试图修改它...
birthYear = 2000; 
// ❌ 报错!电脑会大喊:“Assignment to constant variable.”
// 意思就是:兄弟,这是个密封柜子,你不能改!

4. 一个新手最容易犯的错误

很多初学者觉得:"既然 let 那么灵活,我干脆全部都用 let 好了,省得报错!"

这是一个巨大的陷阱!

最佳实践是:默认全都用 `const`。

为什么?因为 const 会保护你不小心改掉不该改的东西。当你写代码时,如果发现某个变量确实需要变化(比如循环里的计数器 i,或者上面的 score),这时候再回头把它改成 let

这样做会让你的代码更安全,读你代码的人也更清楚:"哦,这个是用 const 定义的,所以我知道它在后面绝对不会变。"

5. 总结一下

  • 如果要变,用 `let`
  • 如果不变,用 `const`
  • 如果不确定,先写 `const`,等报错了再改也不迟!

哪怕你是编程小白,只要记住"密封柜"和"开口箱"的区别,你就已经掌握了现代 JavaScript 最核心的规范之一啦!

相关推荐
晴栀ay5 小时前
JS的超集——TypeScript
前端·react.js·typescript
EndingCoder5 小时前
高级类型:联合类型和类型别名
linux·服务器·前端·ubuntu·typescript
Ulyanov6 小时前
高级可视化技术——让PyVista数据展示更专业
开发语言·前端·人工智能·python·tkinter·gui开发
开开心心_Every6 小时前
重复图片智能清理工具:快速查重批量删除
java·服务器·开发语言·前端·学习·edge·powerpoint
Coffeeee6 小时前
了解一下Android16更新事项,拿捏下一波适配
android·前端·google
亿元程序员6 小时前
拖尾特效怎么实现?Cocos : 开箱即用!
前端
Wpa.wk6 小时前
性能测试 - JMeter练习-JMeter录制Web端压测脚本操作步骤
java·前端·经验分享·jmeter·自动化
undefined在掘金390416 小时前
wpf 布局专题
前端
开开心心_Every6 小时前
一键隐藏窗口到系统托盘:支持任意软件摸鱼
服务器·前端·python·学习·edge·django·powerpoint
m0_748245926 小时前
HTML 文本格式化
前端·html