欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端基础知识(一)数据类型

程序员文章站 2022-06-01 21:59:22
...

数据类型

JS有5种基本数据类型:String、Number、Boolean、Null、undefined,加上ES6的两种:Symbol、BinInt

JS有3种引用数据类型:Object、Array、Function

(Null 表示没有对象,即该处不应该有值。Undefined表示缺少值,即该处应该有值,但是没有定义)

1)基本数据类型:指的是保存在栈内存中的简单数据段

2)引用数据类型:指的是那些保存在堆内存中的对象,变量中保存的实际上只是一个指针,这个指针指向内存堆中的实际的值

3)Symbol:是ES6引入了一种新的原始数据类型,表示独一无二的值

4)BinInt:即是第七种基本类型,V8引擎V6,7默认启用对BinInt 的支持。是一种内置对象,它提供了一种方法来表示大于 253 - 1 的整数。这原本是 Javascript中可以用 Number 表示的最大数字。BigInt 可以表示任意大的整数

// 可以用在一个整数字面量后面加 n 的方式定义一个 BigInt ,如:10n,或者调用函数BigInt()。
let b1 = BinInt(10);
let b2 = 10n;
console.log(b1,b2) // 10n, 10n

数据类型判断的基本方法

1、typeof

2、toString.call 例:toString.call(23) —> “[object Number]”

3、instanceof 例:[“1”] instanceof Array --> true

4、constructor 例:[“1”].constructor === Array --> true

5、Object.prototype.toString.call()

6、ES5,变量名字.isArray()可以实现判断数组和对象

var a = []; Array.isArray(a)   -> true
var b = {}; Array.isArray(b)   -> false

注意:instanceof需要注意的是由于数组也是对象,因此用[“1”] instanceof Object 也是 true

注意:typeof判断数组也不是太准确,typeof[] -> object