前端面试JS— JS数据类型及相关内容

目录

JS数据类型

基本数据类型:

引用数据类型:

两种数据存储方式:

两种数据类型的区别:

数据类型的检测方式

null和undefined区别


JS数据类型

基本数据类型:

        Number,String,Boolean,null,undefined,symbol,bigint(后两个为ES6新增)

Symbol 和 Biglnt 是ES6 中新增的数据类型

  • Symbol 代表创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题
  • Biglnt 是一种数字类型的数据,它可以表示任意精度格式的整数,使用 Biglnt 可以安全地存储和操作大整数,即使这个数已经超出了 Number 能够表示的安全整数范围
引用数据类型:

        object,function(proto Function.prototype)

        object:普通对象,数组对象,正则对象,日期对象,Math数学函数对象。

两种数据存储方式:
  • 基本数据类型是直接存储在中的简单数据段,占据空间小、大小固定,属于被频繁使用的数据。栈 是存储基本类型值和执行代码的空间。
  • 引用数据类型是存储在堆内存中,占据空间大、大小不固定。引用数据类型在栈中存储了指针,该指 针指向堆中该实体的起始地址,当解释器寻找引用值时,会检索其在栈中的地址,取得地址后从堆中获 得实体。
两种数据类型的区别:
  1. 堆比栈空间大,栈比堆运行速度快。
  2. 堆内存是无序存储,可以根据引用直接获取。
  3. 基础数据类型比较稳定,而且相对来说占用的内存小。
  4. 引用数据类型大小是动态的,而且是无限的。
数据类型的检测方式

typeof

数组/对象/null都会被判断为object,其它都正确

前端面试JS— JS数据类型及相关内容_第1张图片

instanceof

只能正确判断引用数据类型不能判断基本数据类型。

前端面试JS— JS数据类型及相关内容_第2张图片

null和undefined区别
  • Undefined 和 Null 都是基本数据类型,这两个基本数据类型分别都只有一个值,就是 undefined 和 null。
  • undefined 代表的含义是未定义,null 代表的含义是空对象。一般变量声明了但还没有定义的时候会返回 undefined,null主要用于赋值给一些可能会返回对象的变量,作为初始化。
  • 当对这两种类型使用 typeof 进行判断时,Null 类型化会返回 “object”
  • 当使用双等号对两种类型的值进行比较时会返回 true,使用三个等号时会返回 false。

你可能感兴趣的:(前端,前端面试,javascript,前端,面试)