Elegant way of processing an "options" parameter
You could do something like this to clean things up a little:

options = options || {};

// Set to Default values first
this.weekdayNames = {
  "long": [...],
  "short": [...]
};

// Then check to see if we need to override
if ( options.weekdayNames ){
  for ( var key in options.weekdayNames ){
    this.weekdayNames[ key ] = options.weekdayNames[ key ];
  }
}


Furthermore, something like lodash's defaults function https://lodash.com/docs#defaults may be of use.