js中的数据类型
数据类型分为两种:基本数据类型和引用数据类型
基本数据类型
Number(数字)
String(字符串)
Blooean(布尔值)
Null(空)
Undefind (未定义)
Symbol (唯一值)
BigIn (最大值)
引用数据类型
Object (对象)
Function (函数)
Array (数组)
RegExp (正则)
Date (时间)
数据类型判断
typeof() instanceof() constructor() Object.prototype.tostring.call()
上代码演示如何使用
1.typeof()
//一般用来判断基本数据类型 不能判断引用数据类型 会之间返回小写的字符串数据类型
let a=10
conso.log(typeof(a)) // 返回一个Number
//特殊
typeof null ===> "object"
2.instanceof()
instanceof 主要判断引用数据类型
语法: (要判断的数据类型) instanceof [Array/Object/Function]
返回值是一个布尔值
let a=function(){}
console.log(a instanceof Function) // 返回一个true
3.constructor()
constructor是prototype对象上的属性,指向构造函数。根据实例对象寻找属性的顺序,若实例对象上没有实例属性或方法时,就去原型链上寻找,因此,实例对象也是能使用constructor属性的
console.log(new Number(123).constructor)
//ƒ Number() { [native code] }
4.Object.prototype.tostring.call()
语法:Object.prototype.toString.call(要判断的数据类型) 返回值 "[object 数据类型]"
let a=10
console.log(Object.prototype.toString.call(a)) //[object number]
基本数据类型和引用数据类型的区别
基本数据类型是原始值 ,他的值存储在栈内存中,引用数据类型 他的值是在堆内存中开辟了一块内存空间,如果我们用一个变量来赋值一个引用数据类型,其实是把这个新开辟的空间的地址进行了一个赋值
不多逼逼 上图解释数据类型在堆栈中的执行!
基本数据类型
引用数据类型