TypeScript 类型

类型判断

getType: function (obj: any) { 
  return Object.prototype.toString.call(obj).slice(8, -1);
}
//=> [object Function/xxxx] => ‘Function/xxxx’

Object.prototype.toString.call(obj)) 是一种常用的typeof,使用了object原型上的toString。
该值存放于对象的[Symbol.toStringTag]处,新标准中被接口化:

Math[Symbol.toStringTag];             // => 'Math'
BigInt.prototype[Symbol.toStringTag]; // => 'BigInt'

大多数内置的对象提供了这个属性,如果是自己新建的类,则默认Object,也可自定义:

class ValidatorClass {
  get [Symbol.toStringTag]() {
    return 'Validator';
  }
}
posted @   olhhh  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示