1 数据类型
1 js的8种数据类型
number、string、boolean、null、undefined、object、symbol、bigInt
(object中包含Data、function、Array等)
基本类型:除object以外的类型都为基本类型;
引用类型:Object
2 NaN(Not a Number)
NaN 是 Number 中的特殊数值:typeof(NaN) 输出为number
3 判断数据类型
-
使用 typeof 判断数据类型:
typeof(1)
输出 number(返回一个表示类型的字符串) -
判断数组
-
Array.isArray( ) :
Array.isArray([1,2])
输出 true -
constructor:
[1,2].constructor.toString().indexOf("Array")
-
instanceof:
[1,2] instanceof Array
输出 true
-
4 null 和 undefined
null为空值,typeof(null)为object(历史原因,把null考虑为object的一种特殊类型);**==
console.log(typeof(null)); // object
undefined,声明了一个变量未初始化时,得到的就是undefined。
var a
console.log(a); // undefined
1 + null // 1
1 + undefined // NaN
// typeof 以上两者都为 number
总结:undefined是访问一个未初始化的变量时返回的值,而null是访问一个尚未存在的对象时所返回的值。
2 类型转换
通过函数可直接将其他类型转换为指定类型。
(1)toString( ):其他类型转成 string 的方法 (123).toString()
// ‘123’
支持:number、string、boolean、object ;不支持:null 、undefined
(2)String(): String('123')
// ‘123’
(3)Number() (4)Boolean()
2 隐式类型转换
(1)转为string :123 + ''
// ‘123’
(2)转为number:+ '123'
// 123
(3)转为boolean:!!‘123’ // true