Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • 数据类型及其区别

数据类型及其区别

八大数据类型

undefined:变量未初始化
null:空值或不存在的对象
boolean:布尔值,true 或 false
number:可表示整数和浮点数,其中包含特殊值 NaN 与 Infinity
string:字符串
symbol:创建唯一且不可变的值,主要用于对象属性的唯一标识,避免属性名冲突。(ES6 新增)
bigint:可表示任意精度的整数,允许操作超过 number 表示范围的整数。(ES6 新增)

object:对象,其中囊括了普通对象、数组以及方法。

数据类型

  • 原始数据类型:
    • String
    • Number
    • Boolean
    • Null
    • Undefined
    • Symbol
    • BigInt
  • 引用数据类型:
    • Object
    • Array
    • Function
    • Date
    • RegExp
    • Set
    • Map

数据类型判断

  • typeof

    • 可以判断原始数据类型
    • 可以判断函数
    • 无法判断 null
    • 无法判断对象
  • instanceof

    • 可以判断对象类型
    • 无法判断原始数据类型
    • 无法判断 null
    • 无法判断函数
  • Object.prototype.toString.call()

    • 可以判断所有类型
    • 无法判断 null
    • 无法判断函数
  • constructor

    • 可以判断所有类型
    • 无法判断 null
    • 无法判断函数

数据类型转换

  • 转换为字符串
    • toString()
    • String()
    • 拼接字符串
  • 转换为数字
    • Number()
    • parseInt()
    • parseFloat()
  • 转换为布尔值
    • Boolean()
    • !!
  • 转换为对象
    • Object()
  • 转换为数组
    • Array.from()
    • Array.prototype.splice.call()

基础(原始)类型 与 引用类型的区别

存储位置区别

基本类型存储在 栈(stack) 中,值直接保存在变量访问的位置,由于其大小固定且频繁使用,存储在栈中具有更高的性能。 引用类型存储在 堆(heap) 中,占用空间较大且大小不固定,变量保存的是对实际对象的引用(即指针),这些引用存储在栈中。

赋值区别

基本类型:复制的是值本身。例如,将一个 number 类型的变量赋值给另一个变量,两个变量互不影响。- 值与值之间是独立存在的,比较时是按值比较

引用类型:复制的是指针。多个变量引用同一个对象时,一个变量的修改会影响其他变量。比较时是按引用比较

Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人