code: function FormatSpecifier(specifier) {
      if (!(match = re.exec(specifier)))
          throw new Error("invalid format: " + specifier);
      var match, fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zero = !!match[5], width = match[6] && +match[6], comma = !!match[7], precision = match[8] && +match[8].slice(1), type = match[9] || "";
      // The "n" type is an alias for ",g".
      if (type === "n")
          comma = true, type = "g";
      else if (!formatTypes[type])
          type = "";
      // If zero fill is specified, padding goes after sign and before digits.
      if (zero || (fill === "0" && align === "="))
          zero = true, fill = "0", align = "=";
      this.fill = fill;
      this.align = align;
      this.sign = sign;
      this.symbol = symbol;
      this.zero = zero;
      this.width = width;
      this.comma = comma;
      this.precision = precision;
      this.type = type;
  }
docs: instanceof