当前位置: 首页 > news >正文

JavaScript中内置对象分类总结

JavaScript内置对象可分为多种类型:

  1. 原始值包装对象(String/Number/Boolean等);
  2. 集合对象(Array/Map/Set等);
  3. 日期时间对象Date;
  4. 数学计算对象Math;
  5. 文本处理对象RegExp;
  6. 结构化数据处理对象JSON;
  7. 控制抽象对象(Promise/Generator等);
  8. 错误处理对象(Error及其子类);
  9. 反射代理对象(Reflect/Proxy);
  10. 国际化对象Intl;
  11. 全局对象(console/globalThis等)。

这些内置对象提供了JavaScript的核心功能,涵盖数据处理、数学运算、异步编程等常见开发需求,通过其特有的方法和属性帮助开发者高效完成各种编程任务。


JavaScript 中的内置对象

JavaScript 提供了丰富的内置对象,可以分为以下几大类:


一、原始值包装对象

这些是原始类型的对象包装器:

  • String- 字符串操作

    new String('hello') 'hello'.length // 自动包装
  • Number- 数字操作

    new Number(123) Number.MAX_VALUE
  • Boolean- 布尔值操作

    new Boolean(true)
  • BigInt- 大整数

    BigInt(9007199254740991)
  • Symbol- 唯一标识符

    Symbol('description')

二、集合对象

  • Object- 所有对象的基类

  • Array- 数组操作

  • Map- 键值对集合

  • Set-值的集合(无重复)

  • WeakMap- 弱引用版本的 Map

  • WeakSet- 弱引用版本的 Set

  • TypedArray- 类型化数组(如 Int8Array, Uint8Array 等)


三、日期和时间

  • Date- 日期和时间操作

    new Date() Date.now()

四、数学计算

  • Math- 数学常量和函数(静态对象)

    Math.PI Math.random() Math.floor()

五、文本处理

  • RegExp- 正则表达式

    new RegExp('pattern', 'flags') /pattern/flags

六、结构化数据

  • JSON- JSON 解析和序列化

    JSON.parse() JSON.stringify()
  • ArrayBuffer- 二进制数据缓冲区

  • SharedArrayBuffer- 共享内存缓冲区

  • DataView- 缓冲区视图


JSON.parse() JSON.stringify()

特性JSON.parse()JSON.stringify()
主要功能JSON 字符串解析为JavaScript 对象JavaScript 对象转换为JSON 字符串
输入类型字符串 (String)对象、数组、基本类型 (Object, Array, Primitive)
输出类型JavaScript 对象 (Object, Array, etc.)字符串 (String)
方向反序列化 (Deserialization): String → Object序列化 (Serialization): Object → String
常见用途接收服务器响应数据、读取配置文件、从 localStorage 获取数据发送数据给服务器、将数据存入 localStorage、打印日志
语法示例const obj = JSON.parse(jsonString);const str = JSON.stringify(obj);
可选参数reviver: 一个函数,用于在返回前转换/过滤结果1.replacer: 数组或函数,用于筛选/转换属性
2.space: 数字或字符串,用于格式化缩进
错误处理如果字符串格式无效,抛出SyntaxError通常不会抛出错误(但会忽略无法序列化的值,如undefined,function,symbol
循环引用不涉及(输入是纯文本)如果对象存在循环引用,抛出TypeError: Converting circular structure to JSON
特殊值处理解析null,true,false, 数字, 字符串等标准 JSON 值undefined,function,symbol会被忽略(对象中)或转为null(数组中);NaN,Infinity转为null
日期对象解析后仍然是字符串(需手动转为Date对象)自动调用.toJSON()方法,转为 ISO 8601 格式的字符串

七、控制抽象对象

  • Promise- 异步编程

  • Generator- 生成器函数

  • GeneratorFunction- 生成器函数构造器

  • AsyncFunction- 异步函数

  • Iterator- 迭代器

  • Iterable- 可迭代对象


八、错误处理

  • Error- 基础错误对象

    • EvalError

    • RangeError

    • ReferenceError

    • SyntaxError

    • TypeError

    • URIError

    • AggregateError


九、反射和代理

  • Reflect- 反射 API

  • Proxy- 代理对象


十、国际化对象

  • Intl- 国际化 API 的命名空间

    • Intl.Collator

    • Intl.DateTimeFormat

    • Intl.ListFormat

    • Intl.NumberFormat

    • Intl.PluralRules

    • Intl.RelativeTimeFormat

    • 等等


十一、其他全局对象

  • globalThis- 全局 this

  • console- 控制台输出

  • decodeURI()/encodeURI()- URI 编解码

  • decodeURIComponent()/encodeURIComponent()- URI 组件编解码

  • eval()- 执行字符串代码

  • isFinite()- 判断有限数

  • isNaN()- 判断 NaN

  • parseFloat()/parseInt()- 字符串解析

  • undefined- 未定义值

  • null- 空值


使用示例

// 数组操作 const arr = [1, 2, 3]; arr.map(x => x * 2); // Promise 异步 Promise.resolve('success') .then(console.log); // Map 和 Set const map = new Map(); map.set('key', 'value'); const set = new Set([1, 2, 3]); // 日期 const now = new Date(); console.log(now.toLocaleDateString()); // 正则表达式 const regex = /[a-z]+/g; 'hello'.match(regex); // 数学计算 Math.floor(Math.random() * 100);

这些内置对象构成了 JavaScript 的核心功能,每个都提供了特定的方法和属性来帮助我们完成各种编程任务。


JavaScript 内置对象的分类总结表格:

类别对象名称描述常用方法/属性示例
原始值包装对象String字符串操作length,charAt(),substring(),split()
Number数字操作toFixed(),toPrecision(),MAX_VALUE
Boolean布尔值操作toString(),valueOf()
BigInt大整数BigInt(),toString()
Symbol唯一标识符Symbol(),for(),keyFor()
集合对象Object所有对象的基类keys(),values(),assign(),create()
Array数组操作map(),filter(),reduce(),push()
Map键值对集合set(),get(),has(),delete()
Set值的集合(无重复)add(),has(),delete(),size
WeakMap弱引用版本的 Mapset(),get(),has(),delete()
WeakSet弱引用版本的 Setadd(),has(),delete()
TypedArray类型化数组Int8Array,Uint8Array,Float32Array
日期和时间Date日期和时间操作now(),getDate(),toLocaleDateString()
数学计算Math数学常量和函数PI,random(),floor(),max(),sin()
文本处理RegExp正则表达式test(),exec(),match(),replace()
结构化数据JSONJSON 解析和序列化parse(),stringify()
ArrayBuffer二进制数据缓冲区byteLength,slice()
SharedArrayBuffer共享内存缓冲区byteLength,slice()
DataView缓冲区视图getInt8(),setInt8(),getFloat32()
控制抽象Promise异步编程then(),catch(),finally(),all()
Generator生成器函数next(),return(),throw()
GeneratorFunction生成器函数构造器function*语法
AsyncFunction异步函数async function语法
Iterator迭代器next(),Symbol.iterator
Iterable可迭代对象Symbol.iterator方法
错误处理Error基础错误对象message,name,stack
EvalErroreval() 相关错误继承自 Error
RangeError范围错误继承自 Error
ReferenceError引用错误继承自 Error
SyntaxError语法错误继承自 Error
TypeError类型错误继承自 Error
URIErrorURI 处理错误继承自 Error
AggregateError多个错误聚合继承自 Error
反射和代理Reflect反射 APIapply(),construct(),get(),set()
Proxy代理对象new Proxy(target, handler)
国际化Intl国际化命名空间DateTimeFormat,NumberFormat
Intl.Collator字符串比较compare()
Intl.DateTimeFormat日期时间格式化format()
Intl.ListFormat列表格式化format()
Intl.NumberFormat数字格式化format()
Intl.PluralRules复数规则select()
Intl.RelativeTimeFormat相对时间格式化format()
全局对象/函数globalThis全局 this跨环境访问全局对象
console控制台输出log(),error(),warn(),table()
decodeURI/encodeURIURI 编解码decodeURI(),encodeURI()
decodeURIComponent/encodeURIComponentURI 组件编解码decodeURIComponent(),encodeURIComponent()
eval()执行字符串代码eval('2 + 2')
isFinite()判断有限数isFinite(42)
isNaN()判断 NaNisNaN(NaN)
parseFloat/parseInt字符串解析parseFloat('3.14'),parseInt('42')
undefined未定义值原始值
null空值原始值

快速参考表

使用场景推荐的内置对象
字符串处理String, RegExp
数组操作Array
键值对存储Object, Map
去重集合Set
数学计算Math
日期处理Date
异步编程Promise
错误处理Error 及其子类
JSON 数据JSON
国际化Intl 对象
二进制数据ArrayBuffer, TypedArray
调试输出console
对象拦截Proxy
反射操作Reflect

使用频率统计

高频使用:Object, Array, String, Number, Math, Date, JSON, Promise, console 中频使用:RegExp, Error, Map, Set, Symbol, BigInt 低频使用:WeakMap, WeakSet, TypedArray, Proxy, Reflect, Intl 对象

这个表格结构清晰,便于快速查阅和比较各个内置对象的用途和特性。

http://www.jsqmd.com/news/506548/

相关文章:

  • DHT11温湿度传感器原理与嵌入式驱动实现
  • Face3D.ai Pro算力适配方案:多GPU并行处理批量人脸重建任务
  • 2026年常州高口碑的通用工业机器人供应商排名,不容错过 - 工业品牌热点
  • 信号处理新手必看:离散卷积与FFT的5个常见误区
  • 2026年南昌铝型材质量可靠厂商推荐,选哪家更靠谱 - mypinpai
  • Ostrakon-VL-8B在零售数字化中的创新应用:多图比对+细粒度物体识别案例
  • 华为绩效管理赋能手册
  • AI Coding工具记忆功能深度解析:让AI真正“记住“你的项目
  • 分析常州专用工业机器人厂家哪家好,有靠谱的推荐吗 - 工业推荐榜
  • 全国网络推广工作室哪家专业,好用的品牌有哪些 - 工业品网
  • Qwen-Image镜像生产环境应用:基于RTX4090D的Qwen-VL多模态API服务架构
  • ofa_image-caption一文详解:OFA-COCO蒸馏模型本地推理原理与限制说明
  • NordVPN 诈骗检测工具:AI 反诈的新尝试与挑战
  • Git+云原生:以GitOps为核心,构建K8s配置版本管理的“唯一真相源”
  • Inno Setup打包必看:如何自定义安装包版本号和发布者信息(附代码示例)
  • Windows 10/11自带取色器使用指南:3步搞定屏幕任意颜色RGB值
  • 2026年靠谱的GEO优化企业哪家好,有艺科技脱颖而出 - 工业设备
  • Java线程池中的线程是如何复用的
  • 机械行业PLM系统如何通过umeditor控件实现三维模型截图上传?
  • 告别环境配置烦恼:通义千问1.8B Docker直装方案实测
  • 2026年水上乐园规划设计公司盘点,可做前期沟通的怎么选择 - myqiye
  • 2026年彩妆培训哪家好?学员口碑揭晓答案,目前靠谱的彩妆培训口碑分析精选优质品牌解析 - 品牌推荐师
  • Leather Dress Collection参数详解:各LoRA触发词、推荐权重与适用风格
  • Qwen3-ASR-0.6B企业提效案例:市场部日均200+小时播客音频自动转稿降本70%
  • OpenSpeedy完全指南:10分钟掌握免费开源游戏变速技巧
  • Python高效文件打包与压缩实战:深入掌握tarfile模块
  • 【AUTOSAR CP 4.4+以太网栈深度适配】:如何用纯C实现SOME/IP序列化/反序列化——内存占用降低42%,时延压至83μs(实测数据)
  • 永磁同步电机双环与三环控制仿真模型的构建与参考资料详解
  • ClawdBot优化升级:如何更换模型?Qwen3到GLM4切换指南
  • 暗刃出鞘:DarkSword漏洞工具席卷全球,iOS安全防线面临全新挑战