请介绍下js的数据类型

JavaScript的数据类型可以分为两大类:原始类型 (Primitive Types)对象类型 (Object Types)

1. 原始类型 (Primitive Types)

原始类型的值是不可变的,它们直接存储在栈内存中,代表了单个值。JavaScript有七种原始类型:

  • Number: 表示数字,包括整数和浮点数。例如:10, 3.14, -5, Infinity, NaN。 需要注意的是,JavaScript中所有数字都以双精度浮点数的形式存储。

  • String: 表示文本数据,用单引号或双引号括起来。例如:"Hello", 'World', `backticks` (模板字符串).

  • Boolean: 表示逻辑值,只有两个值:truefalse

  • Null: 表示空值或不存在的值,只有一个值:null

  • Undefined: 表示未定义的值,通常用于声明了变量但未赋值的情况。只有一个值:undefined

  • Symbol (ES6新增): 表示独一无二的值,用于创建对象的唯一属性名。例如:Symbol('mySymbol').

  • BigInt (ES2020新增): 表示任意精度的整数,可以处理超出Number类型最大安全整数的数值。例如:1234567890123456789012345678901234567890n.

2. 对象类型 (Object Types)

对象类型的值是可变的,它们存储在堆内存中,代表了键值对的集合。

  • Object: JavaScript中最基本的對象類型。可以使用对象字面量 {} 或构造函数 new Object() 创建。例如:{ name: "John", age: 30 }.

  • Array: 表示有序的值的集合。例如:[1, 2, 3, "hello"].

  • Function: 表示可执行的代码块。例如:function greet() { console.log("Hello"); }.

  • Date: 表示日期和时间。

  • RegExp: 表示正则表达式,用于模式匹配。

  • Error: 表示错误对象。

  • Map (ES6新增): 类似于对象,但是键可以是任何类型。

  • Set (ES6新增): 表示值的集合,不允许重复值。

  • WeakMap (ES6新增): 类似于Map,但是键必须是对象,并且键是弱引用。

  • WeakSet (ES6新增): 类似于Set,但是值必须是对象,并且值是弱引用。

typeof 运算符

可以使用 typeof 运算符来检查变量的数据类型。需要注意的是,typeof null 会返回 "object",这是一个历史遗留问题。

总结

理解JavaScript的数据类型对于编写正确的代码至关重要。选择正确的数据类型可以提高代码的效率和可读性。 记住原始类型和对象类型的区别,以及如何使用 typeof 运算符检查数据类型。

posted @   王铁柱6  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示