これは初心者のクエリです。私はいくつかの同様の投稿を経験しましたが、それらは私を十分に助けていません。この投稿には2つのクエリがありますが、ルートが同じように見えるため、まとめています。
私は次のコードスニペットに出くわしました:
var Server = module.exports.Server = function Server(listener) {
if (!(this instanceof Server)) return new Server(listener);
//other code
}
module.exports.createServer = function(listener) {
return new Server(listener);
};
if (!(this instanceof Server)) ;
ここでサーバーを指すことができない場合の使用法を理解できません か?
私はこれを簡単にテストしてみました:
var createTest = function(){
console.log(this.toString());
return new Test();
};
var Test = function Test(){
console.log(this instanceof Test);
console.log(this.toString());
if (!(this instanceof Test))
{
return new Test();
}
}
var tester = createTest();
出力:
[object global]
true
[object Object]
this.toStringが[objectObject]を出力する理由についてさらに混乱します-[objectTest]ではないでしょうか?
ありがとう !