Merge pull request #2146 from adroitwhiz/no-ie-hacks

Remove Internet Explorer-specific Number.isNaN polyfill
This commit is contained in:
Karishma Chadha 2019-09-17 09:29:40 -07:00 committed by GitHub
commit 30ee33c50a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,13 +1,5 @@
const Color = require('../util/color'); const Color = require('../util/color');
/**
* Store and possibly polyfill Number.isNaN. Number.isNaN can save time over
* self.isNaN by not coercing its input. We need to polyfill it to support
* Internet Explorer.
* @const
*/
const _NumberIsNaN = Number.isNaN || isNaN;
/** /**
* @fileoverview * @fileoverview
* Utilities for casting and comparing Scratch data-types. * Utilities for casting and comparing Scratch data-types.
@ -33,13 +25,13 @@ class Cast {
if (typeof value === 'number') { if (typeof value === 'number') {
// Scratch treats NaN as 0, when needed as a number. // Scratch treats NaN as 0, when needed as a number.
// E.g., 0 + NaN -> 0. // E.g., 0 + NaN -> 0.
if (_NumberIsNaN(value)) { if (Number.isNaN(value)) {
return 0; return 0;
} }
return value; return value;
} }
const n = Number(value); const n = Number(value);
if (_NumberIsNaN(n)) { if (Number.isNaN(n)) {
// Scratch treats NaN as 0, when needed as a number. // Scratch treats NaN as 0, when needed as a number.
// E.g., 0 + NaN -> 0. // E.g., 0 + NaN -> 0.
return 0; return 0;