Skip to content

数据类型

理解字符串、数字、布尔等——程序处理的最基础的数据种类。

你将学到

  • 什么是数据类型、为什么重要
  • 核心原始类型:string、number、boolean
  • null 和 undefined 如何表示"没有值"
  • 原始类型与复合类型的区别

概念讲解

数据类型

数据类型是数据的类别。它告诉计算机存的是什么值、哪些操作有意义。两个数字可以相乘,但"苹果"乘"橘子"就不行——类型决定了什么操作合法。

核心原始类型

JavaScript 有几种原始类型——单一、不可分的值:

| 类型 | 示例 | 含义 | |------|---------|---------| | String | "hello" | 文本,用引号包裹 | | Number | 423.14 | 整数和小数 | | Boolean | truefalse | 只有两个值 | | null | null | 刻意表示"没有值" | | undefined | undefined | 变量还没有值 |

字符串

字符串就是文本。可用单引号、双引号,或反引号(模板字符串,支持插值):

const name = "Ada";
const greeting = `Hello, ${name}!`;   // "Hello, Ada!"

布尔

布尔是 true/false 标志。它是比较的结果(5 > 3true),也是 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 表示变量从未赋值。两者不同。

相关代码片段

练习 数据类型

2 个练习

练习 数据类型

查阅不认识的术语

新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。

查看术语表

动手做项目

通过引导式项目应用所学,含起始代码与解决方案。

查看项目

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误