javascript - 确定对象的确切类型/类别
问题描述
如果我有一个变量并且我想知道对象的类型到底是什么,我该怎么做?
// this prints "object"
// any way to know what kind of object
// like whether a GlideRecord or Reference Field or array or json?
gs.log(typeof myVariable);
解决方案
如果GlideRecord
等是类或构造函数,则可以使用constructor
属性。
class GlideRecord {}
// or legacy constructor function -
// function GlideRecord() {}
const instance = new GlideRecord()
const { constructor } = instance
console.log(constructor) // GlideRecord
console.log(constructor.name) // "GlideRecord"
console.log(constructor === GlideRecord) // true
请注意,如果它们只是使用工厂函数创建的普通旧 JS 对象,这将不起作用- 在这种情况下,将只是:constructor
Object
const createGlideRecord = () => {
return { /* ... */ }
}
const instance = createGlideRecord()
const { constructor } = instance
console.log(constructor) // Object
console.log(constructor.name) // "Object"
console.log(constructor === createGlideRecord) // false
推荐阅读
- windows - 如何将git分支名称传递给cmake?
- string - 换行符在 Kotlin 中不起作用(使用 IDEA)
- sql-server - SQL Server 调用 DLL、COM 或外部服务器
- javascript - 如何在 c# 中使用 Webmethod 和 Ajax 创建购物车?
- gensim - 如何手动将单词和向量添加到 Word2vec gensim?
- r - 调查李克特项目的分数是否真的与其他项目不同?
- python - 具有特征名称的 OneHot 向量
- dagger-2 - 为什么@ContributesAndroidInjector 不提供 Android 框架类型
- selenium-webdriver - 黄瓜步骤定义文件未运行,TestNG 注释工作正常
- r - 如何跟踪拆分在我的数据框中的位置?