String.prototype.padLeft / String.prototype.padRight

Claude Pache claude.pache at
Mon Nov 16 18:43:53 UTC 2015

> Le 16 nov. 2015 à 14:01, Alexander Jones <alex at> a écrit :
> I see about as little use case for this as `String.prototype.blink`. Date/hours is better solved with zero padding formatting, not just padding out the already stringified number (think negative values -000042). Same applies to filenames for lexicographical sort. Fixed length fields in wire protocols already need to be converted to bytes first before padding, which makes the use of this feature impossible.

Sure, in all those cases I could have used `sprintf` instead of `str_pad`. However, the equivalent of neither one is natively available in JS. 

I could write a tagged template that does the equivalent of `sprintf`.... And `.padLeft^H^H^H^HStart` and `.padEnd` would be nice to have for writing more easily such a template,... oh well... :-/


> On Monday, 16 November 2015, Claude Pache <claude.pache at> wrote:
> Here are my typical use cases (found by scanning uses of "str_pad" in my PHP codebase):
> * transferring data through a protocol that uses fix-length fields;
> * formatting things like date/hours, e.g. "08:00" for "8am";
> * generating filenames of fixed length, so that they sort correctly, e.g. "foo-00042.txt";
> * generating codes of fixed length (e.g. barcodes).
> In all those cases, the set of characters is typically limited to ASCII or ISO-8559-1.
> Moreover, the filler string consists always of one ASCII character (usually " " or "0").
> —Claude
> _______________________________________________
> es-discuss mailing list
> es-discuss at

More information about the es-discuss mailing list