JS数据类型
七种数据类型:
- 数值 number 整数和小数
- 字符串 string 文本
- 布尔值 boolean true和false
- undefined 未定义或不存在
- null 空值
- 对象 object 各种值的组合
- symbol 独一无二的值 保证与其他属性名不冲突
基本数据类型(原始类型):数值、字符串、布尔值
复杂数据类型(引用数据类型):对象(由多个原始类型的值合成)
对象分为三个子类型:狭义的对象、数组(array)、函数(function)
typeof 运算符
JS有三种方法确定一个值是什么类型:
- typeof运算符
- instanceof运算符
- Object.prototype.toString方法
这里先介绍typeof运算符: 可以返回一个值的数据类型
1、数值、字符串、布尔值分别返回 number、string、boolean,函数返回function
undefined返回undefined;
typeof 123 // "number"
typeof '123' // "string"
typeof false // "boolean"
function f() {}
typeof f // "function"
2、利用这点typeof可以用来检查一个没有声明的变量而不报错
变量没有用var声明会直接报错,放在typeof后面不会报错 并返回undefined
v // 报错
typeof v // "undefined"
通常用在判断语句中
if (typeof v === "undefined") {
}
3、对象返回object,对于空数组[]的类型也是object
instanceof运算符可以区分数组和对象
var a = {};
var b = [];
a instanceof Array // false
b instanceof Array // true
4、null返回object