Я пытаюсь сделать очень простой ООП в Javascript (Node.js), но с проблемами. Я уже все пробовал, включая поиск, но не нашел ответа.Функция объекта 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');
Другой способ, которым я пробовал:
а также не работал.
Я пробовал много разных вещей уже, но несмотря ни на что, когда я пытаюсь запустить конфигурационную функцию в том же экземпляре, объект обращается в нуль ... кто-нибудь знает, почему это происходит? Может быть, мне не хватает чего-то действительно очевидного.
Функция 'config()' не имеет оператора 'return'. – Pointy
И если вы не используете нотацию класса, это определенно должно быть 'Test.prototype.config' – Pointy
Возможный дубликат [Обнаружение неопределенного свойства объекта] (https://stackoverflow.com/questions/27509/detecting-an -undefined-object-property) –