JavaScript 数据类型
变量像带名字的盒子。接下来要问:盒子里装的是哪一类值? 这些类别就是数据类型。本课先画一张入门地图,再用 typeof 向 JavaScript 要类型标签。
什么是数据类型?如何检查?
数据类型指名字里保存的值属于哪一类——文本、数字、真/假、「还没有值」等。本课程先认识 string、number、boolean、undefined 和 null。对象与数组只作预告,细节在后面的课。检查时在值(或变量名)前写 typeof。返回的是短字符串,例如 "string" 或 "number"。
入门类型地图
📊 初学者先认识的几类值
| 种类 | 示例 | 常见 typeof |
说明 |
|---|---|---|---|
| 字符串(文本) | "Hello" |
"string" |
引号里的文本 |
| 数字 | 42 或 3.5 |
"number" |
整数与小数在此同属一类 |
| Boolean | true / false |
"boolean" |
开/关;之后用于条件 |
| Undefined | 尚无赋值的名字 | "undefined" |
已声明但未赋值 |
| Null | null |
"object"(怪异) |
故意为空;typeof 结果奇怪——记住这个 quirk |
| 对象 / 数组(预告) | { } / [1, 2] |
"object" |
一组值;细节稍后 |
字符串值
文本写在引号里。typeof 报告 "string"。
let label = "JavaScript";
console.log(label);
console.log(typeof label);
数字值
对初学者而言,整数与小数同属 number。这里不必单独学「整数类型」。
let score = 42;
console.log(score);
console.log(typeof score);
布尔值
true 与 false 自成一类——之后写条件时很有用。它们是关键字,不是字符串 "true"。
let ready = true;
console.log(ready);
console.log(typeof ready);
undefined —— 还没有值
若用 let 只声明不赋值,值就是 undefined,typeof 返回 "undefined"。
let pending;
console.log(pending);
console.log(typeof pending);
null —— 故意为空
null 表示「故意留空」。奇怪之处:typeof null 是 "object"——长期存在的 quirk。把 null 当作空,并记住这个标签,以免困惑。
let empty = null;
console.log(empty);
console.log(typeof empty);
一次检查多个值
同时打印值与 typeof。注意 "10"(带引号)是字符串,10 是数字。
console.log(typeof "10");
console.log(typeof 10);
console.log(typeof false);
console.log(typeof undefined);
console.log(typeof null);
在页面上显示类型标签
保存一个值,读取 typeof,用 textContent 把标签写到页面上。
<!DOCTYPE html>
<html>
<head>
<title>Data Types — typeof on page</title>
</head>
<body>
<p id="out">…</p>
<script>
let sample = "W3Learn";
let kind = typeof sample;
document.getElementById("out").textContent = "Type: " + kind;
</script>
</body>
</html>
段落会显示 Type: string,因为 sample 里是文本。把 sample 改成数字或 true,刷新后标签会跟着变。
自己试试
- 用带引号的城市名建一个
let;打印值与typeof。 - 赋一个不带引号的数字;应得到
"number"。 - 赋
true或false;确认类型是"boolean"。 - 写
let x;不赋值;查看typeof x。 - 赋
null;记下"object"quirk。 - 在 HTML 示例里只改
sample,刷新并检查页面标签。
常见错误
- 写
let n = "42";却指望做数字运算——引号会把它变成字符串 - 看到
typeof null === "object"就慌——这是 quirk,还不是深入对象课 - 把
string、number这些词当成必须声明的变量名 - 控制台里两个值「看起来像」却行为不同时,忘了用
typeof - 还没到后续课时就钻进数组/对象——眼下这张地图够用
小结
- 数据类型 = 变量能保存的值的种类
- 入门地图:string、number、boolean、undefined、null(外加对象/数组短预告)
typeof以字符串形式返回类型标签typeof null是"object"——记住这个 quirk- 下一课:数字——更细致地使用数值
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部