首页 > 其他分享 >说一说JS数据类型有哪些,区别是什么?

说一说JS数据类型有哪些,区别是什么?

时间:2023-01-25 19:33:07浏览次数:41  
标签:说一说 obj Symbol Object 数据类型 JS BigInt key

Number、String、Boolean、BigInt、Symbol、Null、Undefined、Object、8种

标准回答
JS数据类型分为两类:一类是基本数据类型,也叫简单数据类型,包含7种类型,分别是Number 、String、Boolean、BigInt、Symbol、Null、Undefined。另一类是引用数据类型也叫复杂数据类型,通常用Object代表,普通对象,数组,正则,日期,Math数学函数都属于Object。

数据分成两大类的本质区别:基本数据类型和引用数据类型它们在内存中的存储方式不同。
基本数据类型是直接存储在栈中的简单数据段,占据空间小,属于被频繁使用的数据。
引用数据类型是存储在堆内存中,占据空间大。引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址,当解释器寻找引用值时,会检索其在栈中的地址,取得地址后从堆中获得实体。

加分回答
Symbol是ES6新出的一种数据类型,这种数据类型的特点就是没有重复的数据,可以作为object的key。
数据的创建方法Symbol(),因为它的构造函数不够完整,所以不能使用new Symbol()创建数据。由于Symbol()创建数据具有唯一性,所以 Symbol() !== Symbol(), 同时使用Symbol数据作为key不能使用for获取到这个key,需要使用Object.getOwnPropertySymbols(obj)获得这个obj对象中key类型是Symbol的key值。

let key = Symbol('key');
let obj = { [key]: 'symbol'};
let keyArray = Object.getOwnPropertySymbols(obj); // 返回一个数组[Symbol('key')]
obj[keyArray[0]] // 'symbol'

BigInt也是ES6新出的一种数据类型,这种数据类型的特点就是数据涵盖的范围大,能够解决超出普通数据类型范围报错的问题。

使用方法:
-整数末尾直接+n:647326483767797n
-调用BigInt()构造函数:BigInt("647326483767797")

标签:说一说,obj,Symbol,Object,数据类型,JS,BigInt,key
From: https://www.cnblogs.com/jycom/p/17067180.html

相关文章

  • js表单和submit 区别
    js表单提交和submit提交的区别 <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><h......
  • js window.requestAnimationFrame
    https://stackoverflow.com/questions/17926327/why-requestanimationframe-recursion-wont-eat-up-ramfunctionwindow.requestAnimationFrame()告诉浏览器——你希望执......
  • JS 数字运算的矫正函数
    代码:constmath_helper={};/*加法*/math_helper.add=function(num1,num2){//两个参数应为有效的数字if(typeofnum1!=='number'||typeofnum2!=......
  • pages.json 文件:自定义导航栏
    自定义导航栏使用注意当navigationStyle设为custom或titleNView设为false时,原生导航栏不显示,此时要注意几个问题:非H5端,手机顶部状态栏区域会被页面内容覆盖。这是因为窗......
  • pages.json 文件:globalStyle 全局配置
    globalStyle用于设置应用的状态栏、导航条、标题、窗口背景色等。属性类型默认值描述平台差异说明navigationBarBackgroundColorHexColor#F7F7F7导航栏背景颜......
  • 学习笔记——NoSQL数据库;Redis概述;redis中常用的数据类型(key、string)
    2023-01-24一、NoSQL数据库1、NoSQL数据库的简介NoSQL(NoSQL=NotOnlySQL),即“不仅仅是SQL”,泛指非关系型的数据库。NosQL不依赖业务逻辑方式存储,而以简单的key-value模......
  • 初识 Express 丨Node.js
    目录​​一、初识Express​​​​1.1Express简介​​​​1.2Express的基本使用​​​​1.3托管静态资源​​​​1.4nodemon​​​​ Node.js前篇回顾:​​一、初识E......
  • Composer 镜像原理 (2) —— composer.json
    相关文章Composer镜像原理(1)——初识ComposerComposer镜像原理(2)——composer.jsonComposer镜像原理(3)——完结篇有使用PHP组件的朋友,应该会注意......
  • cube.js 一些变动
    cube.js整体的机制是没有调整的,但是目前从官方介绍可以看出,已经从以前的无头bi调整为了语义层了,这个也说明了cube.js在数据处理能力上更加强大了一张参考图  说......
  • JS数组的常用方法
    join()(数组转字符串)数组转字符串,方法只接收一个参数:即默认为逗号分隔符()。<script> vararr=[1,2,3,4]; console.log(arr.join());//1,2,3,4 console.log(arr.join......