Instantly share code, notes, and snippets.
Save Raynos/1665192 to your computer and use it in GitHub Desktop.
The following are currently shimmed. Note a lot of these are not natively implemented anywhere yet.
ByES6-shim
String.prototype.repeat
String.prototype.startsWith
String.prototype.endsWith
String.prototype.contains
By ES6-shim]1
Array.from
Array.of
ByES6-shim
Number.isFinite
Number.isNaN
Number.toInteger
Number.isInteger
ByES6-shim
Object.getOwnPropertyDescriptors
Object.getPropertyDescriptor
Object.getPropertyNames
Object.is
Object.isnt
ByES6-shim
Math.sign
Byfdlibm
Math.log10
Math.log1p
Math.expm1
Math.cosh
Math.sinh
Math.tanh
Math.acosh
Math.asinh
Math.atanh
Math.hypot
Math.trunc
Math.sign
Byrwldrn
Math.cbrt
ES6-shim coversMap
andSet
.WeakMap shim.ES6 collections also has alternative shims with special note on Andrea's WeakMap implementation choice.
paulmillr commentedFeb 8, 2012
I've added more math extras to es6-shim: Math.log10, Math.log2, Math.log1p, Math.expm1, Math.cosh, Math.sinh, Math.tanh, Math.acosh, Math.asinh, Math.atanh, Math.hypot, Math.trunc.
paulmillr commentedFeb 8, 2012
Needs to be added tounshimmable.md
:
- default function params
- rest parameters
- spread operator
- is / isnt egal operators
- Array comprehensions
- Generator expressions
- Iterators
- Generators (yield)
- Quasi-literals
- RegExp "y" flag
- Structs
I've kept the unshimmables inline with the experimental subset of es6 in ff/chrome.
paulmillr commentedFeb 9, 2012
for of
syntax just landed in FX13:https://bugzilla.mozilla.org/show_bug.cgi?id=699565#c26
Yaffle commentedApr 21, 2012
Math extras via fdlibm -https://gist.github.com/2427837
rwaldron commentedJun 1, 2012
Updates from last face to face TC39 meeting...
Remove:
String.prototype.toArray
is out and will be removed from the next draft. (same assplit("")
)typeof null === "null";
is out (too much web breaking)
Add:
Math.cbrt(x)
as defined by:
15.8.2.32 cbrt(x)Returns an implementation-dependent approximation to the cube root of x.1. If x is NaN, the result is NaN. 2. If x is +0, the result is +0. 3. If x is -0, the result is -0.4. If x is +Infinity, the result is +Infinity.5. If x is -Infinity, the result is -Infinity.
@rwldrn thanks updated.
rwaldron commentedJun 1, 2012
My pleasure :)
Also rage at TC39 not breaking the web withnull === "null"
the web should just break and die ¬_¬
Yaffle commentedJun 29, 2012
Compare:
ES 6 draft:
15.8.2.19 log10 (x)
Returns an implementation-dependent approximation to the base 10 logarithm of x.* If x is 1, the result is +0. ... other special cases ...
log10 implementation from fdlibm
http://www.netlib.org/fdlibm/e_log10.c
Special cases: * log10(10**N) = N for N=0,1,...,22. ... other special cases ...
why ES6 implementation for log10 does not guarante results for some special cases?
this makes it less usefull
p.s.
https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L205 - this implementation fails for such cases too, although if you not interested in such cases, log10 can be implemented as here, without any ES6
cscott commentedFeb 13, 2014
es6-shim now includes support for Promise and support for most uses of Iterator.
arthurvr commentedNov 29, 2014
Hi there! The name of theString.prototype.contains
method must be changed ;-)