Skip to content

Commit

Permalink
Refactoring to properly use ToNumber internally
Browse files Browse the repository at this point in the history
  • Loading branch information
ljharb committed Jan 5, 2015
1 parent f9bfe5e commit 8a848a4
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions es6-shim.js
Original file line number Diff line number Diff line change
Expand Up @@ -231,15 +231,22 @@
},

ToInt32: function (x) {
return x >> 0;
return ES.ToNumber(x) >> 0;
},

ToUint32: function (x) {
return x >>> 0;
return ES.ToNumber(x) >>> 0;
},

ToNumber: function (value) {
if (_toString(value) === '[object Symbol]') {
throw new TypeError('Cannot convert a Symbol value to a number');
}
return +value;
},

ToInteger: function (value) {
var number = +value;
var number = ES.ToNumber(value);
if (Number.isNaN(number)) { return 0; }
if (number === 0 || !Number.isFinite(number)) { return number; }
return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
Expand Down

0 comments on commit 8a848a4

Please sign in to comment.