在上一节课中,我们学习了变量的基础概念和声明方法。现在让我们深入学习变量的赋值操作和读取操作。
在编程中,赋值(Assignment)是一个核心概念,表示"把值放入变量中"的过程。
赋值符号:= (等号)
重要说明:
= 不是数学中的"等于",而是"赋值"的意思让我们通过 let score = 100 这个例子来理解赋值:
这行代码一步完成两个操作:
score 的变量(准备一个储物盒)100 放到这个变量里(把东西放进储物盒)赋值符号各部分解释:
let - 关键字,用于声明变量score - 变量名,变量的标识符= - 赋值符号,表示把右边的值赋给左边的变量100 - 值,要存储的数据我们也可以给已经存在的变量重新赋值:
这行代码只完成一个操作:
150 放到已经存在的 score 变量里(替换旧值)注意:这里不需要 let,因为变量 score 已经存在了。let 只在第一次声明变量时使用。
方向性:赋值总是从右到左
变量 = 值替换性:新值会替换旧值
类型匹配
重要概念:如果是作为变量声明的初始化值,这个值的类型决定了变量的类型
let score = 100; → 因为100是数字,所以score是数字类型let name = "小明"; → 因为"小明"是字符串,所以name是字符串类型现在我们理解了赋值的基本概念,接下来学习如何读取变量的值。
读取变量:从变量中获取存储的值来使用。
核心原则:看到一个变量,只有两种可能 - 赋值或读取。
=)的左边,那就是向变量写入数据,把右边的值放入这个变量的容器中判断方法:
= 左边 → 赋值(写入数据)= 左边 → 读取(取出数据)举个例子:
读取的情况有很多,我们后面随时会见到,这里列举几个例子加深你们的理解:
console.log 显示变量值这是最常见的读取方式,用于查看变量的内容:
读取一个变量的值,然后赋值给另一个变量:
分析这个过程:
level 的值:从 level 变量中获取数字 5score:将 5 * 20 = 100 赋值给 score 变量变量的值可以被读取出来参与各种数学运算:
现在我们理解了读取的各种情况,让我们总结赋值与读取的关系:
= 的左边变量的使用遵循完整的循环:
let score;)score = 100;)console.log(score);)在实际编程中,赋值和读取经常配合使用。最经典的例子就是读取→计算→赋值的复合操作:
理解复合操作:
像 score = score - 20 这样的代码,实际包含三个步骤:
score 的当前值(100)100 - 20 = 80score重要原则:等号右边先执行(读取和计算),等号左边后执行(赋值)。
其他类似操作:
理解赋值和读取的关系是掌握变量使用的关键,它们构成了变量操作的完整循环。
在理解了赋值的基本概念后,让我们重点理解变量的独立性这个重要概念。
重要观察:
score1 的值时,score2 保持不变理解变量独立性:
在编程中,最基础的规则是变量必须先声明,然后才能使用。
错误信息解释:
variable 'name' used before its declaration 意思是"变量 'name' 在声明之前就被使用了"
let name = "小明" 中的 let name 就是在声明一个叫 name 的变量为什么这个规则很重要? 从变量生命周期可以看到,必须遵循顺序:声明 → 赋值 → 读取。如果先使用后声明,程序就试图从未创建的变量中读取数据,就像试图从一个不存在的盒子里取东西。
错误信息解释:
Cannot redeclare block-scoped variable 'score' 意思是"不能重新声明块级作用域的变量 'score'"
score 已经存在,不能再声明一次重新赋值 vs 重新声明:
score = 200; (改变变量的值)let score = 200; (重复创建同名变量)一旦变量的类型由初始化值确定后,就不能再改变:
类型错误:Type 'string' is not assignable to type 'number'
通过这节课的学习,我们掌握了变量赋值和操作的核心知识:
= 符号表示赋值,从右到左执行,包含声明并赋值和重新赋值两种情况= 左边就是读取操作a = a + 1 等读取→计算→赋值的执行流程变量是编程的基础,就像建筑用的砖头。掌握变量的声明、赋值、读取这三个核心操作,理解变量独立性和重要限制,你就具备了学习更复杂编程概念的坚实基础!