TypeScript 之 typeof 局限性和代替方案

255 阅读1分钟

TS 作用

typeof 用来检测一个变量或一个对象的数据类型

typeof 检测的范围

typeof 检测变量的类型范围包括:string | number | bigint | boolean | symbol | undefined | object | function 等数据类型

使用typeof判断数组时 数组是object演变过来的 我们希望返回的是Array 结果是object

通过Object.prototype.toString.call 来获取类型是希望看到的


const arr = [1, 2];
console.log(typeof arr); // object
const set = new Set();
console.log(typeof set); // object
const map = new Map();
console.log(typeof map); // object

console.log(Object.prototype.toString.call(arr)); // [object Array]
console.log(Object.prototype.toString.call(set)); // [object Set]
console.log(Object.prototype.toString.call(map)); // [object Map]