typeof运算符
我是knockkey, 这是我坚持更新博客第2天. 博客目的: 学会判断类型
1. typeof运算符(返回字符串)
识别所有值类型
// 判断所有值类型
let a;
console.log(typeof a); //'undefined'
const str = 'abc'
console.log(typeof str); //'string'
const n = 100
console.log(typeof n); //'number'
const b = true
console.log(typeof b); //'boolean'
const big = 12n
console.log(typeof big); //'bigint'
const s = Symbol('s')
console.log(typeof s); //'symbol'
识别函数
console.log(typeof function () { }); //'function'
判断是否是引用类型(不可再细分)
console.log(typeof null); //'object'
console.log(typeof ['a', 'b']); //'object'
console.log(typeof { x: 100 }); //'object'
注意一个小点
- NaN: 指"不是一个数字"(not a number), 以后单独讲
console.log(typeof NaN); //number
2. instanceof判断一个变量是数组还是对象
instance运算符用于通过查找原型链来检测某个变量是否为某个类型数据的实例
let arr = ['a', 'b', 'c', 'd']
console.log(typeof arr); //'Objetc'
console.log(arr instanceof Array); // true
console.log(arr instanceof Object); // true
let obj = { name: "knockkey" }
console.log(typeof obj);
console.log(obj instanceof Array ); //false
console.log(obj instanceof Object ); //true