Ошибка типа: Date.prototype.Метод не является функцией — метод внезапно не работает

#javascript #node.js

#javascript #node.js

Вопрос:

У меня есть функция с именем Date.prototype.AddDays. На самом деле не имеет значения, что он делает, но на всякий случай:

 Date.prototype.addDays = function(days) {
    var date = new Date(this.valueOf());
    date.setDate(date.getDate()   days);
    return date;
}
  

У меня вообще не было никаких проблем, а затем сегодня я вижу эту ошибку:

 TypeError: matchDate.addDays is not a function
  

Я рассмотрел все проблемы, о которых мог подумать, но не могу понять это. Здесь вызывается метод и какая-то консоль.журналы для отображения соответствующих переменных:

 let matchDate = new Date(value.date)
console.log(matchDate);
console.log(value.date);
console.log((matchDate instanceof Date))
let activeDate = matchDate.addDays(dayOfTheWeek   1);
  

И вот результат:

 2018-04-10T11:33:20.000Z
1523360000000
true
/Users/Mariano/Documents/ML/nodetest/main_process.js:88
    let activeDate = matchDate.addDays(dayOfTheWeek   1);
                               ^

TypeError: matchDate.addDays is not a function
  

Есть мысли?

     Date.prototype.addDays = function(days) {
        var date = new Date(this.valueOf());
        date.setDate(date.getDate()   days);
        return date;
    }

    var matchDate = new Date();
    console.log(matchDate);
    console.log((matchDate instanceof Date))
    let activeDate = matchDate.addDays(1);
    console.log("active date is "   activeDate);  

Как вы можете видеть здесь, код работает в Chrome, поэтому не уверен, почему он не работает на Node. Есть мысли о том, что я могу сделать для устранения неполадок?

Комментарии:

1. Ваш код работает.

2. он работает в консоли Chrome

3. Обязательное примечание: никогда не делайте этого (добавляйте во встроенные прототипы).

4. Удалите это «value.date» и, как сказал Джаред, не добавляйте во встроенный proto!

5. значение. дата — это то, откуда берется дата. Вы можете видеть в консоли, что он правильно анализирует его в объект даты js.