Skip to content

getType

获取变量的类型值(Number 对 NaN 做处理)

参数

参数名参数类型参数说明
valueunknown任意值

源代码&使用

ts
import { getType } from "@manzhixing/utilsxy";

getType("manzhixing") // String
getType(221) // Number
getType(NaN) // NaN
getType(Symbol()) // Symbol
getType(new Date()) // Date
ts
/*
 * @Author: Chengbotao
 * @Contact: https://github.com/chengbotao
 */
export function getType(value: unknown): string {
  if (typeof value === 'number') {
    return isNaN(value) ? 'NaN' : 'Number';
  }
  return Object.prototype.toString.call(value).replace(/^\[object (.+)\]$/, '$1');
}

提示

getTypetypeOf 返回值不同

  1. typeOf 返回类型值全小写,getType 返回类型值首字母大写
  2. getType 对 Number 做了处理可以返回 NaN
  3. typeOf 是一个手写 typeof 的扩展, getType 更有语义化些