首页 > 其他分享 >js数据类型

js数据类型

时间:2022-09-05 12:55:57浏览次数:72  
标签:obj Symbol Object 数据类型 js BigInt key

JS数据类型分为两类:

一类是基本数据类型,也叫简单数据类型,包含7种类型,分别是Number 、String、Boolean、BigInt、Symbol、Null、Undefined。

另一类是引用数据类型也叫复杂数据类型,通常用Object代表,普通对象,数组,正则,日期,Math数学函数都属于Object。

区别

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

 

 

 


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")

注意:BigInt和Number之间不能进行混合操作

标签:obj,Symbol,Object,数据类型,js,BigInt,key
From: https://www.cnblogs.com/yueyiviolet/p/16657716.html

相关文章

  • JS中Promise
    Promise的作用:Promise是异步微任务,解决了异步多层嵌套回调的问题,让代码的可读性更高,更容易维护。 Promise如何使用:Promise是ES6提供的一个构造函数,可以使用Promise构......
  • python变量和数据类型
    1.python变量含义变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。......
  • 前端JS-Day20
    BOM:浏览器对象模型,核心对象为Window 通过var声明的所有全局变量和函数都会变成window对象的属性和方法,let或const则不行。  窗口加载事件:addEventListener('load......
  • JavaScript日期处理类库-Moment.js
    JavaScript日期处理类库-Moment.js参考链接日期格式化moment().format('MMMMDoYYYY,h:mm:ssa');//九月5日2022,10:00:10上午moment().format('dddd');......
  • JS事件循环(event loop)
    事件循环概述事件循环是用来实现异步特性的。事件循环中的几个概念:主线程:理解为同步任务的先进先出,一旦调用,同步任务就执行。执行栈:先入后出的数据结构,一个任务来......
  • json基础
      json内可以包括任何字符类型varJsonObj={"key":value,"key2":"abc","key3":true......
  • 使用 Node.js 构建基于 Typescript 的命令行界面 (CLI)
    使用Node.js构建基于Typescript的命令行界面(CLI)我们的目标是使用Typescript创建一个基于Node.js的命令行界面(CLI)。此设置包括顶级等待支持和ES模块导入。......
  • JS | getBoundingClientRect()方法的基本使用
    Element.getBoundingClientRect()方法返回一个DOMRect对象,其提供了元素的大小及其相对于视口的位置。返回的对象中有几个只读属性:width/x:元素矩形的宽度height/y......
  • 【JS每日一题】Array.reduce函数
    题目题目来源于前端面试题宝典[[0,1],[2,3]].reduce((acc,cur)=>{returnacc.concat(cur)},[1,2])解析[1,2]会作为初始值首次放入到第一个参数......
  • 【JS】112. 路径总和
    112.路径总和代码DFSvarhasPathSum=function(root,targetSum){//找到没有根了,那么就说明这条路行不通if(!root){returnfalse;}//......