JavaScript 数据类型

变量里装的数据有不同的"种类":整数小数、文字、真假、空值……JS 是动态类型语言,同一个变量可以先后装不同类型的值,无需预先声明类型。本章认识 JS 的基础数据类型与 typeof 运算符。

数据类型总览

JS 有 8 种数据类型,其中基础类型(原始类型)有:

  • number:数字,含整数与小数。
  • string:字符串(文本)。
  • boolean:布尔值,只有 true / false。
  • undefined:声明了但未赋值的"未定义"。
  • null:表示"空"的特殊值。
  • symbol、bigint:较新的类型,进阶再用。

数组、对象等属于引用类型(对象类型)。

number 数字

整数、小数统称为 number,还能表示特殊值 Infinity(无穷大)、NaN(不是数字):

let age = 18;        // 整数
let price = 3.99;    // 小数
let big = 1e6;       // 科学计数法,等于 1000000
console.log(age, price, big);
// 输出:18 3.99 1000000

string 字符串

用单引号、双引号或反引号包裹的文本。反引号(模板字符串)里可以直接嵌入变量:

let s1 = "双引号";
let s2 = '单引号';
let name = "小明";
let s3 = `你好,${name}`;   // 模板字符串插值
console.log(s1, s2, s3);
// 输出:双引号 单引号 你好,小明

boolean 布尔值

只有 true(真)与 false(假)两个值,常由比较运算得出,用于条件判断:

let age = 20;
let isAdult = age >= 18;   // 比较的结果是布尔值
console.log(isAdult);      // 输出:true

null 与 undefined

两者都表示"空",但含义不同:

  • undefined:变量声明了但没赋值,"尚未定义"。
  • null:主动把一个变量置空,"这里故意没有值"。
let a;            // undefined
let b = null;     // 主动置空
console.log(a, b);
// 输出:undefined null

typeof 查看数据类型

typeof 运算符能返回值的类型字符串,用来确认数据到底是什么类型:

console.log(typeof 100);       // 输出:number
console.log(typeof "abc");     // 输出:string
console.log(typeof true);      // 输出:boolean
console.log(typeof undefined); // 输出:undefined
console.log(typeof null);      // 输出:object(历史遗留问题)
console.log(typeof [1, 2]);    // 输出:object(数组也是对象)

小结

JS 数据类型是"动态"的:变量可随时换类型。先记住 number、string、boolean、undefined、null 五种基础类型,再用 typeof 随时确认类型即可。

笔记加载中…