Javascript(Node.js)で非常に単純なOOPを実行しようとしていますが、問題があります。私は検索を含むすべてを試しましたが、答えは見つかりませんでした。Javascriptオブジェクト関数がnullを返す
基本的に、私は、このファイルTest.jsを持っている:
class Test {
constructor(){
this.name = 'Hey';
this.config = 'null!';
console.log('this.config: ' + this.config);
}
config(msg){
this.config = msg;
console.log('new this.config: ' + this.config);
}
}
module.exports = Test;
(私も:)
function Test()
{
this.name = 'Hey';
this.config = 'null!';
console.log('this.config: ' + this.config);
}
Test.config = function(msg) // and Test.prototype.config
{
this.config = msg;
console.log('new this.config: ' + this.config);
}
module.exports = Test;
をこのを試してみましたが、私は、この他のファイルapp.jsを持っている:
var TestModule = require('./Test.js');
var Test = new TestModule();
var test = Test.config('hi');
その他の方法:試しました:
var TestModule = require('./Test.js');
var Test = new TestModule().config('hi');
また動作しませんでした。
私は同じ事柄でconfig関数を実行しようとすると、オブジェクトがnullになってしまうのですが、何が起こったのか誰にも分かりますか?多分私は本当に明白な何かを見逃しているかもしれない
'config()'関数には 'return'文がありません。 – Pointy
'class'表記を使用していない場合は、必ず' Test.prototype.config'にしてください。 – Pointy
[未定義オブジェクトのプロパティを検出する]の可能な複製(https://stackoverflow.com/questions/27509/detecting-an -undefined-object-property) –