JS数据类型

作者: 精英刘恋 | 来源:发表于2025-02-28 18:04 被阅读0次

1. 原始类型(Primitive Types)

(1) **number** - 数字类型

范围:包含整数、浮点数、特殊值(Infinity, -Infinity, NaN)

示例

javascript

42          // 整数

3.14        // 浮点数

NaN          // 非数字(Not a Number)

1e5          // 科学计数法(100000)

(2) **string** - 字符串类型

特点:用单引号 ''、双引号 "" 或反引号 ` ` 包裹

示例

javascript

'Hello'"JavaScript"`模板字符串:${1 + 2}` // 输出 "模板字符串:3"

(3) **boolean** - 布尔类型

取值:true 或 false

示例

javascript

const isStudent = true;

const isAdmin = false;

(4) **null** - 空值

作用:表示“无”、“空”或“值未知”的明确赋值

注意:typeof null 返回 "object"(历史遗留问题)。

示例

javascript

let user = null; // 显式赋值为空

(5) **undefined** - 未定义

场景:变量声明但未赋值时默认值。

示例

javascript

let age;console.log(age); // 输出 undefined

(6) **symbol** - 唯一标识符(ES6+)

特点:唯一且不可变,常用于对象属性的键。

示例

javascript

const id = Symbol('id'); // 即使描述相同,Symbol 值也不同

(7) **bigint** - 大整数(ES11+)

作用:表示任意长度的整数,后缀加 n。

示例

javascript

const bigNumber = 123456789012345678901234567890n;

2. 对象类型(Object Types)

(1) **object** - 普通对象

结构:键值对集合。

示例

javascript

const person = {  name: 'Alice',  age: 30 };

(2) **array** - 数组

特点:有序数据集合,索引从 0 开始。

示例

javascript

const colors = ['red', 'green', 'blue'];

(3) **function** - 函数

说明:可执行代码块,typeof function() {} 返回 "function"。

示例

javascript

function add(a, b) {  return a + b; }

(4) 其他内置对象

常见类型

Date(日期)、RegExp(正则表达式)、Set(集合)、Map(映射)等。

数据类型检测方法

1. **typeof 运算符**

javascript

typeof 42            // "number"

typeof 'hello'      // "string"

typeof true          // "boolean"

typeof undefined    // "undefined"

typeof Symbol()      // "symbol"

typeof 10n          // "bigint"

typeof {}            // "object"

typeof []            // "object"(数组也是对象)

typeof function() {} // "function"

typeof null          // "object"(历史遗留问题)

2. **instanceof 运算符**

作用:检测对象是否属于某个构造函数。

javascript

[] instanceof Array      // tru

e{} instanceof Object    // true

3. **Object.prototype.toString.call()**

精确检测类型

javascript

Object.prototype.toString.call(42)        // "[object Number]

"Object.prototype.toString.call(null)      // "[object Null]"

Object.prototype.toString.call([1, 2])    // "[object Array]"

关键区别

特征原始类型对象类型

存储方式值直接存储在栈内存引用地址存储在栈,值在堆内存

赋值行为复制值本身(值传递)复制引用地址(引用传递)

可变性不可变(修改会创建新值)可变(可修改属性)

比较方式比较值是否相等比较引用地址是否相同

代码示例

javascript

// 原始类型比较(值相等)const a = 10;

const b = 10;console.log(a === b);

 // true// 对象类型比较(引用不同)const obj1 = { name: 'Alice' };

const obj2 = { name: 'Alice' };

console.log(obj1 === obj2); // false

相关文章

  • JS的类型转换

    JS的数据类型: 首先, JS的数据类型分为基本数据类型和引用数据类型基本数据类型: string number ...

  • js对象数组的深拷贝方法以及其他方法

    js判断数据类型是否为对象 js判断数据类型是否为数组

  • 2022前端面试题汇总(附答案)更新中

    JS相关 1.JS中的数据类型 (1)数据类型分为基本数据类型和引用数据类型基本数据类型:number、null、...

  • js深拷贝

    在写深拷贝之前,有必要说一下js的数据类型 一.js数据类型 1.1 分类 js数据类型分为两类:原始数据类型、引...

  • js数据类型

    JS基本数据类型和引用数据类型(JS 基本数据类型和引用数据类型的区别及浅拷贝和深拷贝) 再讲 js 的基本数据类...

  • js入门知识点

    * 基础知识 * js的输出方式 * js的组成 * js的命名规范 * 数据类型 * number数据类型 * ...

  • js常见知识点

    一、 js基本数据类型和引用数据类型 js基本数据类型:Number、String、Boolean、Null、un...

  • JS数据类型判断

    js中可以通过typeof来判断基本的数据类型。 数据类型 js的数据类型分为基本数据类型和引用数据类型,基本数据...

  • JS 高频面试题汇总

    # 说一下JS 中的数据类型有哪些 JS 数据类型包括 基本 / 引用 / 特殊 数据类型: 基本数据类型:Str...

  • 浅拷贝和深拷贝

    JS数据类型 在JS语言中,数据类型分为以下两种: 基本数据类型:null undefined number st...

网友评论

    本文标题:JS数据类型

    本文链接:https://www.haomeiwen.com/subject/asstmjtx.html