首页 > 其他分享 >请介绍下js的数据类型

请介绍下js的数据类型

时间:2024-11-28 10:14:00浏览次数:8  
标签:表示 ES6 对象 JavaScript 数据类型 介绍 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 运算符检查数据类型。

标签:表示,ES6,对象,JavaScript,数据类型,介绍,js,类型
From: https://www.cnblogs.com/ai888/p/18573672

相关文章

  • 请使用js实现一个省市县级联的效果
    //Sampledataforprovinces,cities,andcounties.You'lllikelyfetchthisfromaserver.constdata={"北京市":{"北京市":["东城区","西城区","朝阳区","丰台区","石景山区","海淀区&quo......
  • 请使用纯js实现一个横向或纵向的无缝滚动效果
    functioncreateScroller(containerId,direction='horizontal',speed=2){constcontainer=document.getElementById(containerId);constcontent=container.children[0];if(!container||!content){console.error("Containeror......
  • 用js实现一个轮播图,并简述有哪些实现的方法
    //方法一:使用CSStransitions和JavaScript控制constcarousel=document.querySelector('.carousel');constslides=Array.from(carousel.querySelectorAll('.slide'));constprevButton=document.querySelector('.carousel-prev');con......
  • hhdb数据库介绍(9-13)
    计算节点特色功能SQL流控计算节点支持对高并发SQL语句进行自动的流量控制功能,可以自动识别高消耗SQL且限制同一时间内高消耗SQL执行的并发数和效率,从而稳定数据库服务。也提供查询入口使用户尽可能多的识别高消耗SQL语句并优化SQL以提升数据库整体服务性能。当正在执行的SQL缓......
  • hhdb数据库介绍(9-14)
    函数与操作符计算节点对函数的支持此文档仅列出部分经特殊处理的函数,若需要了解所有计算节点支持的函数,请向官方获取《计算节点最新功能清单》。函数名称支持状态是否拦截说明ABS()支持否ACOS()支持否ADDDATE()支持否ADDTIME()支持否AES_DE......
  • js对象和类型化制数组互相转换的方法
    js对象和类型化数组互相转换的方法//对象转化为类型化数组functionjsonToTypedArray(obj){constjsonString=JSON.stringify(obj)constencodedString=encodeURIComponent(jsonString)letbase64=btoa(encodedString)constencoder=newTe......
  • 帝国CMS内容页模板点击改变字体大小的js代码
    加入JS代码:<scripttype="text/javascript">functionFontZoom(fsize){varctext=document.getElementById("news");ctext.style.fontSize=fsize+"px";}</script>定制框架:<divid="news"&......
  • hhdb数据库介绍(9-12)
    计算节点特色功能在线修改分片字段支持在服务端口直接使用SQL语句进行在线修改分片字段的操作,业务表在变更期间不会锁表,业务可对原表进行正常的SIUD操作。使用方法alter修改分片字段语法如下:altertabletable_namechangeshardcolumnnew_column;例如将源表sbtest1分片字......
  • javaweb基于JSP+Servlet开发学生选课系统源码(管理员 教师 学生) 课程设计 毕业设计
    ......
  • Linux 下编辑器vi介绍(三)
    Linux下编辑器vi介绍(三)vim的末行模式(1).地址定界:start_pos,end_pos#:具体的第#行,例如:2表示第2行;#,#:从左侧#表示起始,到右侧#表示结束;#,+#:从左侧#表示的行开始,加上右侧#表示的行数;.当前行;$:最后一行;%:全文;相当于(1,$)/pat1/,/pat2/:表示从第一次被pat1匹配到的行开始,一直到......