# Polyfills

Three.js includes polyfills for the following functions and constants.

### [page:Number.EPSILON Number.EPSILON]

The difference between one and the smallest value greater than one that can be represented as a Number. [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON MDN reference].

### [page:Math.sign Math.sign]( [page:Number x] )

If the argument is a positive number, negative number, positive zero or negative zero, the function will return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned. [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sign MDN reference].

### [page:Function.prototype.name Function.prototype.name]( [page:Number x] )

Returns the name of a function, or (before ES6 implementations) an empty string for anonymous functions. [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name MDN reference].

### [page:Object.assign Object.assign]( [page:Object target], [page:Object ...sources] )

The Object.assign() method is used to copy the values of all enumerable own properties from one or more source objects to a target object. It will return the target object. [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign MDN reference].

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/polyfills.js src/polyfills.js]