4

私は単純なモジュールquery.jsを持っています:

module.exports = function(queryString){
     return{
         string: queryString
     };
};

今、このモジュールを別のモジュールからロードし、そこからインスタンスを作成しています:

var Query = require("./query");
var myQuery = new Query("SELECT * FROM `mytabel`");

console.log(myQuery instanceof Query); // Ouputs false
console.log(myQuery.constructor == Query); // Outputs false

nodejs のドキュメントから理解したように、require("Query") は module.exports オブジェクトを提供します。これは、私の場合、1 つのパラメーター queryString を受け入れる匿名関数です。この関数を使用して新しいオブジェクト myQuery を作成しますが、これは Query のインスタンスではありません。

MY QUESTION: myQuery が Query 関数から作成されているかどうかを確認するにはどうすればよいですか?また、私の意見では true である必要があるのに、なぜ両方の出力が false になるのですか?

4

2 に答える 2

3

現在、オブジェクトをエクスポートしています。クラスをエクスポートする必要があります。

function Query(querystring){
    this.querystring = querystring;
}

module.exports = Query;
于 2013-11-06T14:02:03.067 に答える