In JavaScript, the following returns a valid Date object:
new Date('2016-10-30')
But from a Google Apps Script, it returns an invalid date object. So it looks like the assumption that GAS's Date is just the same as JavaScript's does not hold, and I can't find it's documentation.