红宝书第一讲:JavaScript 语法与数据类型详解

资料取自《JavaScript高级程序设计(第5版)》
查看所有教程:红宝书学习大纲


一、基本数据类型(原始类型)

JavaScript 的原始类型是最基础的数据单元,不可再拆分:

  1. 数字(Number)

    • 包含整数、小数、特殊值 NaN(非数字)、Infinity(无穷大)
    • 例子:

      const age = 25;          // 整数
      const price = 9.99;      // 小数
      const result = 10 / "a"; // NaN(计算错误)

      12

  2. 字符串(String)

    • 用单引号 '、双引号 " 或反引号 ` 包裹
    • 支持模板字符串(嵌入变量 ${x}):

      const name = "小明";
      const greeting = `你好,${name}!`; // 模板字符串

      1

  3. 布尔值(Boolean)

    • 只有两种值:true(真)和 false(假)
    • 例子:

      const isLogged = true;
      const isAvailable = 10 > 5; // true(比较运算结果)

      2

  4. 空值(null 与 undefined)

    • null:表示有意为空
    • undefined:变量未初始化时默认值

      let data = null;    // 明确赋空值
      let address;        // undefined(未赋值)

      1

  5. 符号(Symbol,ES6 新增)

    • 用于创建唯一的标识符(不可重复):

      const id1 = Symbol("id"); 
      const id2 = Symbol("id");
      console.log(id1 === id2); // false(永远不同)

      1

  6. 大整数(BigInt,ES11 新增)

    • 处理超大整数,后缀加 n

      const bigNumber = 123456789012345678901234567890n;

      1


二、对象类型(复杂类型)

对象类型可以包含多个值或功能:

  1. 普通对象(Object)

    • 用花括号 {} 定义键值对:

      const user = { 
        name: "小明", 
        age: 18 
      };

      1

  2. 数组(Array)

    • 存储有序数据,用 [] 定义:

      const fruits = ["苹果", "香蕉", "橘子"];

      3

  3. 日期(Date)

    • 处理时间:

      const today = new Date(); // 当前时间

      2

  4. 正则表达式(RegExp)

    • 用于匹配文本规则,用 /.../ 定义:

      const emailPattern = /^\w+@\w+\.\w+$/; // 验证邮箱

      2


三、自动类型转换(隐式转换)

JavaScript 会自动转换类型:

原类型 → 目标类型转换规则示例
Number → String数字转字符串String(123) → "123"
String → Number纯数字字符串转数字,否则转 NaNNumber("100") → 100
Boolean → Numbertrue → 1,false → 0Number(true) → 1
Object → String转成 [object Object](默认)String({}) → "[object Object]"

12


四、手动类型转换(显式转换)

开发中常用强制转换:

const num = parseInt("100");      // 字符串转整数 → 100
const bool = Boolean("hello");    // 字符串转布尔 → true

目录:总目录
上篇文章:《JavaScript高级程序设计(第5版)》学习大纲

下篇文章:第二讲:JavaScript变量声明:var、let、const详解


  1. 字符串、数值、布尔值与类型转换规则,《JavaScript高级程序设计(第5版)》 第三章
  2. 基本引用类型(Date、RegExp、原始包装类型)的定义与用法,《JavaScript高级程序设计(第5版)》 第五章
  3. 数组类型与操作方法,《JavaScript高级程序设计(第5版)》 第六章

kovli
7 声望4 粉丝