正在检查类型构造函数函数
Checking a type constructor function
我正在使用Object.create()
创建新的原型,我想检查用于对象的构造函数。
OBJECT.constructor只返回继承的原型:
var mytype = function mytype() {}
mytype.prototype = Object.create( Object.prototype, { } );
//Returns "Object", where I would like to get "mytype"
console.log( ( new mytype ).constructor.name );
如何做到这一点(不使用任何外部库)?
(我的最终目标是创建从Object派生的新类型,并能够在运行时检查实例化对象的类型)。
var mytype = function mytype() {}
mytype.prototype = Object.create( Object.prototype, { } );
将新对象分配给mytype.prototype
后,mytype.prototype.constructor
属性将被Object.prototype.constructor
覆盖,因此必须将mytype.prototype.constructor
更改回mytype
mytype.prototype.constructor = mytype;
它将恢复您覆盖的原始原型对象上的.constructor
属性。你应该恢复它,因为它应该在那里。
//Returns "Object", where I would like to get "mytype"
console.log( ( new mytype ).constructor.name );
相关文章:
- 构造函数函数闭包变量
- 构造函数函数中的自执行函数的OO上下文/范围
- 为什么在构造函数函数中使用此关键字
- 正在将构造函数函数迁移到TypeScript
- 获取构造函数函数的最佳方式是在JavaScript中使用带名称空间的字符串表示
- 为什么可以't我使用'var'在构造函数函数中
- 获取自定义对象构造函数函数名
- 在构造函数函数中创建只读(get)属性
- 正在检查类型构造函数函数
- Javascript中的内置构造函数函数
- 如何在JavaScript中的函数(函数本身就是一个参数)中传递参数
- 构造函数函数原型可枚举
- 为什么要设置原型's构造函数转换为其构造函数函数
- 从另一个javascript程序调用函数-函数式编程
- 构造函数函数.可以't覆盖对全局变量的引用
- 使用构造函数函数的Javascript继承
- 从数组构造生成器函数
- 如何创建DOM's构造函数函数
- 使用构造函数函数添加和删除项的数据结构
- 在NodeJS中构造helper函数的最佳方式