首先在学习javascript
数据类型之前,我们要明确 JavaScript
是一门动态解释型的高级语言,所以他的数据类型在运行时确定,在 ES6
之后有八种基本数据类型,其中又可以分为两类:
- 简单数据类型
Number
String
Boolean
Undefined
Null
Bigint
Symbol
其中 BIgint 与 symbol 是 es6 新增数据类型
- 复杂数据类型(引用类型)
Object
简单数据类型直接存储的值,而复杂类型存储的是地址
typeof
因为在运行时确定类型,所以在一些情况下我们需要判断变量是否是我们想要的类型,这时候可以通过 typeof
关键字进行判断
typeof
是一个关键字,不需要像函数那样进行调用,我们见到的typeof()
只是为了将括号中的内容当成一个整体
// typeof 判断的值可以为以下几种
// undefined boolean string number object function symbol
var str = ""
var num = 0
var bool = false
var undef
var obj = {}
var nil = null
function fn() {}
var sym = Symbol()
console.log(typeof str) //string
console.log(typeof num) //number
console.log(typeof bool) //boolean
console.log(typeof undef) //undefined
console.log(typeof obj) //object
console.log(typeof nil) //object
console.log(typeof fn) //function
console.log(typeof sym) //symbol
特别注意:
typeof
在对null
值进行判断的时候,其值为object
此处我们也可以看出undefined
与null
的一些区别
当变量声明但未赋值时,其类型与值都为 undefined
而null需要手动赋值,才能让值变为null,并且经过 typeof 的判断后,其类型为object
所以为了一些不必要的麻烦,我们可以在声明变量时,根据需要给它一个初始值,而null常用为作为对象的初始值
结束语
关于js数据类型的基础复习大致就是这些,感觉是有些简单了,没有对每个数据类型进行深究,后面慢慢补充,大佬们如果有补充的也请指教!!!