function JulianDate(julianDayNumber, secondsOfDay, timeStandard) {
  /**
   * Gets or sets the number of whole days.
   * @type {number}
   */
  this.dayNumber = undefined;

  /**
   * Gets or sets the number of seconds into the current day.
   * @type {number}
   */
  this.secondsOfDay = undefined;

  julianDayNumber = julianDayNumber ?? 0.0;
  secondsOfDay = secondsOfDay ?? 0.0;
  timeStandard = timeStandard ?? TimeStandard.UTC;

  //If julianDayNumber is fractional, make it an integer and add the number of seconds the fraction represented.
  const wholeDays = julianDayNumber | 0;
  secondsOfDay =
    secondsOfDay +
    (julianDayNumber - wholeDays) * TimeConstants.SECONDS_PER_DAY;

  setComponents(wholeDays, secondsOfDay, this);

  if (timeStandard === TimeStandard.UTC) {
    convertUtcToTai(this);
  }
}
Represents an astronomical Julian date, which is the number of days since noon on January 1, -4712 (4713 BC).
For increased precision, this class stores the whole number part of the date and the seconds
part of the date in separate components.  In order to be safe for arithmetic and represent
leap seconds, the date is always stored in the International Atomic Time standard
{@link TimeStandard.TAI}.
@alias JulianDate
@constructor

@param {number} [julianDayNumber=0.0] The Julian Day Number representing the number of whole days.  Fractional days will also be handled correctly.
@param {number} [secondsOfDay=0.0] The number of seconds into the current Julian Day Number.  Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
@param {TimeStandard} [timeStandard=TimeStandard.UTC] The time standard in which the first two parameters are defined.