Не очень эффективно, но в качестве единственного:
var yesterday = new Date(new Date().setDate(new Date().getDate()-1));
Приведенное выше создает три Date
объекта, которые излишне расточительны.Это можно уменьшить до одного экземпляра с помощью:
var yesterday = (function(){this.setDate(this.getDate()-1); return this})
.call(new Date)
Или, если вы предпочитаете:
var yesterday = (function(d){ d.setDate(d.getDate()-1); return d})(new Date)
Или, если вы предпочитаете ES6 с функцией стрелки:
let yesterday = ( d => new Date(d.setDate(d.getDate()-1)) )(new Date);