Skip to main content

ECMAScript 数据类型

在 ECMAScript 中,数据类型可以分为两类:基本类型值(值传递)和对象类型值(引用传递)。

基本类型值有7种

  1. Number(数字类型):用于表示数值,包括整数和浮点数
let age = 18; // 整数
let price = 99.99; // 浮点数
  1. String(字符串类型):用于表示文本数据
let message1 = 'Hello, World!'; // 单引号
let message2 = "Hello, World!"; // 双引号
let message3 = `Hello,
World!`; // 模板字面量,可以跨行定义字符串
  1. Boolean(布尔类型):用于表示逻辑值,只有两个可能的值:true 和 false
let isHidden = true; // // 隐藏
let isLoggedIn = false; // 未登录
  1. Undefined(未定义):当声明一个变量但未给它赋值时,默认值为 undefined
let age;
console.log(age); // 输出:undefined
  1. Null(空值):用于表示空值或者没有值的对象
let data = null; // 数据为空
  1. Symbol(符号类型):用于表示唯一且不可改变的值,通常用于对象属性的唯一标识符
const id = Symbol(123);
  1. BigInt(大整数类型):用于表示任意精度的整数
const bigIntNumber = 1234567890123456789012345678901234567890n;
const anotherBigInt = BigInt("1234567890123456789012345678901234567890");

对象类型值有很多种

  1. Object(普通对象):用于表示复杂的数据集合,是属性的集合
let person = {
name: "Alice",
age: 18,
};
  1. 基于 Object 实现的对象类型,如 Array(数组)、Function(函数),Date(日期对象),RegExp(正则表达式)等

宿主对象(由浏览器平台提供)

  1. 类数组(有length属性且值为number)

    • Function中的arguments
    • NodeList
    • HTMLCollection
    • FileList
    • localStorage(localStorage.length是缓存条数 )
  2. EventTarget(DOM接口)

    • Element
    • document
    • window(window.length是iframe的数量)
    • XMLHttpRequest
    • AudioNode
    • AudioContext