Rename Number.prototype.clz to Math.clz

Jason Orendorff jason.orendorff at
Wed Jan 15 11:18:05 PST 2014

ES6 adds a clz function, but it's a method of Number.prototype.clz
rather than Math.clz.

The rationale for this decision is here (search for clz in the page):

Can we reverse this, for users' sake? The pattern in ES1-5 is quite
strong: math functions go on the Math object.

The rationale (What if we add a uint64 type?) doesn't seem compelling
enough to justify the weirdness of the result: we'll have a single
mathematical operation available only as a Number method, and all
others available only as Math functions.


More information about the es-discuss mailing list