You serialize Alarms via chrome.storage, so it would be better if you didn't use a constructor for it. Instead, use:

function makeAlarm(...) {
  return {key: value, ... };
}