写点什么

JavaScript 基本数据类型和引用数据类型详解

作者:肥晨
  • 2022-11-05
    江苏
  • 本文字数:907 字

    阅读完需:约 3 分钟

数据类型小知识

JavaScript 主要数据类型共有 7 种,有 stringnumberbooleanundefinednullsymbolobject。其余 7 种可以笼统的分为两大类:基本数据类型引用数据类型

基本数据类型:string(字符串)、number(数字)、boolean(布尔)、null(空)、undefined(未定义)、symbol(符号)

引用数据类型:object(对象,除了基本数据类型其他都是对象。数组是对象、函数是对象、正则表达式也是对象)

基本数据类型:

 基本数据类型的主要特点是赋值方式是传值,并且值存在栈中。

 例如:

let val1="基本数据类型"let val2=val1console.log(val2)//基本数据类型
复制代码

基本数据类型的值,赋值后相互不会影响。

例如:

val2="基本数据的值被修改"console.log(val1)//基本数据类型console.log(val2)//基本数据的值被修改
复制代码

 下表展示这种数据类型的赋值过程:

栈内存




引用数据类型:

引用数据类型的主要特点是赋值方式是传址,并且值存在堆中。(因为引用数据的值的大小无法确定,要根据情况进行特定的配置)

 例如:

const obj1=new Object()const obj2=val1 console.log(obj2)//{}
复制代码

引用数据类型的值,赋值后相互影响。

例如:

obj2.name = "引用数据的值被修改"console.log(obj1.name)//引用数据的值被修改
复制代码

 下表展示这种数据类型的赋值过程:

栈内存

 



 堆内存

 


NULL 歧义:

const test=nullconsole.log(typeof(test))//object
复制代码

  for(item in test){     console.log("运行")  }//undefined

看在 typeof 中的结果 null 是 object,而在循环中,for 循环不会执行。所以在此会有一定的歧义,但是基本数据类型和引用数据类型的主要区别就是数据赋值不同和数据存储不同。所以个人感觉 null 是属于基本数据类型。

7 种数据类型详情:

String(字符串):string 类型是 JavaScript 中较为重要的类型,用来表示字符串。

Number(数字):用来表示数字串。主要有整数、小数、NAN 等。

boolean(布尔):即布尔类型,该类型有两个值:true false

null(空):可以通过将变量的值设置为 null 来清空变量

undefined(未定义):表示变量不含有值

symbol(符号):ES6,主要防止命名冲突。

object(对象):对象,除了基本数据类型其他都是对象。数组是对象、函数是对象、正则表达式也是对象。

发布于: 刚刚阅读数: 3
用户头像

肥晨

关注

还未添加个人签名 2021-04-15 加入

平台:InfoQ、阿里云、腾讯云、CSDN、掘金、博客园等平台创作者 领域:前端 公众号:农民工前端

评论

发布
暂无评论
JavaScript基本数据类型和引用数据类型详解_js_肥晨_InfoQ写作社区