Javascript 类型介绍

简介: Javascript 类型介绍


原始值(Primitive)

  • Null: 没有对象
  • Undefined: 没有值
  • Boolean
  • Number
  • BigInt
  • String
  • Symbol

对象包装类型

除了 null 和 undefined,所有原始类型都有它们相应的对象包装类型,这为处理原始值提供可用的方法。 当在原始值上访问属性时,JavaScript 会自动将值包装到相应的包装对象中,并访问对象上的属性。

Object

在 JavaScript 中,对象是唯一可变的值。事实上,函数也是具有额外可调用能力的对象

属性

属性键要么是字符串类型,要么是 symbol。属性值可以是任何类型的值,包括其他对象,从而可以构建复杂的数据结构。

  • 数据属性: 数据属性将键与值相关联
  • 访问器属性: 将键与两个访问器函数(get 和 set)像关联,以获取或者存储值。

索引类集合:数组和类型化数组

  • Array
  • TypedArray
    • Float32Array
    • Int8Array

带键的集合

  • Map
  • WeakMap: WeakMap 的 key 只能是 Object 类型。 原始数据类型 是不能作为 key 的(比如 Symbol)。
  • Set
  • WeakSet: 只能是对象的集合,而不能像 Set 那样,可以是任何类型的任意值。(是不可枚举的)

Object 和 Map 的区别:

  1. Object的键名只可以是String或者Symbol, 但是 Map 不受限制
  2. Object 上的属性访问是使用原型链的方式访问的,访问不存在的属性时会有性能问题

强制类型转换

TODO


references:

目录
相关文章
|
人工智能 JSON 自然语言处理
基于阿里云通义千问的AI模型应用开发指南
阿里云通义千问是阿里巴巴集团推出的多模态大语言模型平台,提供了丰富的API和接口,支持多种AI应用场景,如文本生成、图像生成和对话交互等。本文将详细介绍阿里云通义千问的产品功能,并展示如何使用其API来构建一个简单的AI应用,包括程序代码和具体操作流程,以帮助开发者快速上手。
5554 3
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
2327 0
|
Docker 容器
Gitlab - 解决访问 gitlab 网站出现 502 报错信息的问题
Gitlab - 解决访问 gitlab 网站出现 502 报错信息的问题
1260 0
Gitlab - 解决访问 gitlab 网站出现 502 报错信息的问题
|
人工智能 供应链 数据挖掘
瓴羊入选中国信通院《AI Agent智能体产业图谱》
2025数据智能大会在京召开,中国信通院发布《AI Agent智能体产业图谱1.0》,瓴羊Quick BI凭借智能数据分析能力入选。该图谱系统梳理AI Agent产业生态,涵盖基础底座、平台、通用与行业智能体四大领域。Quick BI通过融合大模型技术,重构企业数据分析方式,实现从“被动响应”到“主动服务”的升级,广泛应用于供应链、零售、财务等多个场景。此次入选标志着瓴羊在数据分析智能体领域的创新成果获高度认可。作为阿里巴巴旗下数智服务品牌,瓴羊将持续推动企业智能化转型,释放数据价值,助力“人工智能+”深度发展。
1139 0
|
10月前
|
人工智能 Rust JavaScript
实战抄作业:使用 Claude Code 将 10 万行 TypeScript 代码移植到 Rust
本文记录作者仅用Claude Code,在一个月内将10万行TypeScript(实为JavaScript)的宝可梦对战引擎Pokemon Showdown完整移植至Rust的全过程。通过巧妙绕过沙箱限制、设计结构化提示、分块处理、自动化交互与端到端测试,最终实现功能完全一致、性能显著提升的Rust版本,提交5000次,零手写代码。(239字)
1947 3
实战抄作业:使用 Claude Code 将 10 万行 TypeScript 代码移植到 Rust
|
10月前
|
人工智能 人机交互 语音技术
|
人工智能 缓存 UED
deepseek-vue3ai流式输出AI对话助手
原创新作vue3.5+deepseek+vite6+vant4仿DeepSeek-R1流式输出ai聊天对话。支持AI流式打字输出效果、浅色/暗黑主题模式、代码高亮、针对移动端+PC端适配处理。
1966 65
|
JavaScript 前端开发
js小数运算出现的问题(精度丢失)及解决办法-亲测有效
JavaScript浮点数运算存在精度丢失问题,如0.1+0.2不等于0.3。原因是十进制小数转二进制时可能出现无限循环,导致舍入误差。本文提供一种精度处理方法,通过将小数转为整数运算后再还原,实现加减乘除的精确计算,解决常见浮点运算误差问题。
1598 0
|
前端开发 开发工具 git
Git报错处理:解决git commit时的lint-staged错误提示。
极好的,你对Git的lint-staged出了一个令人头疼的问题。让我们一起钻研一下,找到一种方法来解决一切。 首先,我们要确定你是在做什么操作时候遇到了问题。lint-staged通常在我们运行 git commit 时启动,它做的工作是在你提交之前运行一些指定的命令检查你的代码。当lint-staged报错,多半是因为检查未通过,或者它试图运行的命令存在问题。 让我们以一种图解的方式来描绘一下这个过程,就像canvas上的画面那样。git正在温柔的将你的修改捆绑起来,准备提交。突然,lint-staged走了出来,并开始盘问着Git,寻找可能的错误。如果lint-staged找到了什么
1362 24
|
SQL XML JSON
大数据ETL开发之图解Kettle工具(入门到精通)
ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。
9556 0
大数据ETL开发之图解Kettle工具(入门到精通)