当前位置:

前端面试基础知识之JavaScript中的数据类型

温馨提示:本文共795个字,读完预计2分钟。

本章主要介绍JavaScript中的数据类型,仅供参考,下面言归正传。

1. 内容简介

在JavaScript中,有两个数据类型:基本类型和对象类型(对象类型有时候也被称为引用类型)。

基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。

当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。

2. 基本数据类型

Number, String, Boolean, null, undefined

ES6新增了一种类型:Symbol

3. 对象类型

Function, Object, Array,Date, RegExp

4. 基本类型与引用类型有什么区别?

1)存储

基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中

引用类型的值是对象, 保存在堆内存中. 包含引用类型的变量实际上包含的并不是对象本身, 而是一个指向改对象的指针 

2)复制

从一个变量向另一个变量复制基本类型的值, 会创建这个值的一个副本

从一个变量向另一个变量复制引用类型的值, 复制的其实是指针, 因此两个变量最终都指向同一个对象

3)检测类型

确定一个值是哪种基本类型可以用typeof操作符

而确定一个值是哪种引用类型可以使用instanceof操作符

5. 总结

基本类型和对象类型的区别在于可变性和比较的方式以及程序中传值。

基本类型是不可变的,换种说法就是它们的值不能改变。对比而言,对象类型是可变的,它们的值可以更新和改变。

基本类型可以按值比较,当我们把一个基本类型赋值给另外一个基本类型,是复制了一个值。而对象这是通过引用进行比较,引用的是什么呢?引用的是底层对象。当我们赋值一个对象给另一个对象时。引用指针就创建了。在这个情况下,改变一个对象的值将更新另外一个对象的值。

当我们尝试在基本类型的值中调用方法时,JavaScript使用包装对象来临时控制基本类型,导致对象变为只读的并在垃圾回收后执行。

至此,本篇结束。

版权申明:本文地址 ,本博客所有文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议。请尊重他人的劳动成果!

我要说两句