第一讲:JavaScript 语法与数据类型详解
资料取自《JavaScript高级程序设计(第5版)》。
查看所有教程:红宝书学习大纲
一、基本数据类型(原始类型)
JavaScript 的原始类型是最基础的数据单元,不可再拆分:
数字(Number)
字符串(String)
- 用单引号
'
、双引号"
或反引号 `` `包裹 - 支持模板字符串(嵌入变量
${x}
):
1const name = "小明"; const greeting = `你好,${name}!`; // 模板字符串
- 用单引号
布尔值(Boolean)
- 只有两种值:
true
(真)和false
(假) - 例子:
2const isLogged = true; const isAvailable = 10 > 5; // true(比较运算结果)
- 只有两种值:
空值(null 与 undefined)
null
:表示有意为空undefined
:变量未初始化时默认值
1let data = null; // 明确赋空值 let address; // undefined(未赋值)
符号(Symbol,ES6 新增)
- 用于创建唯一的标识符(不可重复):
1const id1 = Symbol("id"); const id2 = Symbol("id"); console.log(id1 === id2); // false(永远不同)
- 用于创建唯一的标识符(不可重复):
大整数(BigInt,ES11 新增)
- 处理超大整数,后缀加
n
:
1const bigNumber = 123456789012345678901234567890n;
- 处理超大整数,后缀加
二、对象类型(复杂类型)
对象类型可以包含多个值或功能:
普通对象(Object)
- 用花括号
{}
定义键值对:
1const user = { name: "小明", age: 18 };
- 用花括号
数组(Array)
- 存储有序数据,用
[]
定义:
3const fruits = ["苹果", "香蕉", "橘子"];
- 存储有序数据,用
日期(Date)
- 处理时间:
2const today = new Date(); // 当前时间
- 处理时间:
正则表达式(RegExp)
- 用于匹配文本规则,用
/.../
定义:
2const emailPattern = /^\w+@\w+\.\w+$/; // 验证邮箱
- 用于匹配文本规则,用
三、自动类型转换(隐式转换)
JavaScript 会自动转换类型:
原类型 → 目标类型 | 转换规则 | 示例 |
---|---|---|
Number → String | 数字转字符串 | String(123) → “123” |
String → Number | 纯数字字符串转数字,否则转 NaN |
Number("100") → 100 |
Boolean → Number | true → 1,false → 0 |
Number(true) → 1 |
Object → String | 转成 [object Object] (默认) |
String({}) → “[object Object]” |
四、手动类型转换(显式转换)
开发中常用强制转换:
const num = parseInt("100"); // 字符串转整数 → 100
const bool = Boolean("hello"); // 字符串转布尔 → true