如何验证对象实例? instanceof和.... prototype.isPrototypeOf(...)不可靠

时间:2016-01-20 16:46:41

标签: javascript node.js prototype instance instanceof

我使用Node.js。

请阅读此代码:

Project/Application/application.js

const onecolor = require("onecolor");
const library = require("../Library/library.js");

library.check(new onecolor.RGB(0, 0, 0));

Project/Library/library.js

const onecolor = require("onecolor");

module.exports.check = function(object) {
    console.log(`Library-made object: ${
            onecolor.RGB.prototype.isPrototypeOf(
            new onecolor.RGB(0, 0, 0))}`);
    console.log(`Application-made object: ${
            onecolor.RGB.prototype.isPrototypeOf(
            object)}`);
};

两个目录都有node_modules目录,并安装了onecolor模块。

我正在node application.js目录中运行Project/Application

输出显示....prototype.isPrototypeOf(...)不是验证对象是否属于正确的“类”的可靠方法用于构建对象的脚本文件不相同(不同) node_modules个目录):

Library-made object: true
Application-made object: false

这是为什么?以及如何解决这个问题?也就是说,验证对象是否是特定类型的实例的可靠方法是什么?

0 个答案:

没有答案