数据类型
理解字符串、数字、布尔等——程序处理的最基础的数据种类。
你将学到
- 什么是数据类型、为什么重要
- 核心原始类型:string、number、boolean
- null 和 undefined 如何表示"没有值"
- 原始类型与复合类型的区别
概念讲解
数据类型
数据类型是数据的类别。它告诉计算机存的是什么值、哪些操作有意义。两个数字可以相乘,但"苹果"乘"橘子"就不行——类型决定了什么操作合法。
核心原始类型
JavaScript 有几种原始类型——单一、不可分的值:
| 类型 | 示例 | 含义 | |------|---------|---------| | String | "hello" | 文本,用引号包裹 | | Number | 42、3.14 | 整数和小数 | | Boolean | true、false | 只有两个值 | | null | null | 刻意表示"没有值" | | undefined | undefined | 变量还没有值 |
字符串
字符串就是文本。可用单引号、双引号,或反引号(模板字符串,支持插值):
const name = "Ada";
const greeting = `Hello, ${name}!`; // "Hello, Ada!"
布尔
布尔是 true/false 标志。它是比较的结果(5 > 3 为 true),也是 if 语句的输入。程序靠布尔做决定。
原始 vs. 复合
原始类型(string、number、boolean)只存一个值。复合类型——数组和对象——把多个值放在一起。这个区别很重要:原始类型按值复制,复合类型按引用复制,赋值时行为不同。
示例代码
const text = "Hello"; // string
const count = 42; // number
const isActive = true; // boolean
const empty = null; // 刻意为空
let notAssigned; // undefined
// typeof 运算符揭示值的类型:
console.log(typeof text); // "string"
console.log(typeof count); // "number"
console.log(typeof isActive); // "boolean"
console.log(typeof empty); // "object"(JS 著名怪癖!)
console.log(typeof notAssigned); // "undefined"
// 操作取决于类型:
console.log(10 + 5); // 15 (数字 + 数字)
console.log("10" + "5"); // "105" (字符串 + 字符串 = 拼接!)
注意 + 对数字和字符串的行为不同。这正是为什么要知道类型——同一个运算符可能做不同的事。
动手试一试
- JSON Formatter
JSON 由字符串、数字、布尔、null、数组和对象构成。粘贴数据,辨认每种类型。
常见错误
错误写法
把数字加到字符串上却期望数值相加。
正确做法
先用 Number() 或 parseInt() 转换:Number('5') + 5 得 10,而不是 '55'。
错误写法
混淆 null 和 undefined。
正确做法
null 表示你刻意设置"没有值";undefined 表示变量从未赋值。两者不同。
相关资源
相关代码片段
- JavaScript Array Methods
复合类型实战——数组里装着多种类型的值。
练习 数据类型
2 个练习
查阅不认识的术语
新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。
动手做项目
通过引导式项目应用所学,含起始代码与解决方案。
解读错误信息
用大白话解释常见错误——什么意思、为什么发生、如何修复。