Skip to content

Commit ffc6984

Browse files
committed
temporarily drop unspecified special cases from Number.fromString before clarification from champions
1 parent f7b095e commit ffc6984

File tree

4 files changed

+6
-22
lines changed

4 files changed

+6
-22
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
- Simplified `structuredClone` polyfill, avoided second tree pass in cases of transferring
44
- Added support of `SuppressedError` to `structuredClone` polyfill
55
- Removed unspecified unnecessary `ArrayBuffer` and `DataView` dependencies of `structuredClone` lack of which could cause errors in some entries in IE10-
6-
- Fixed handling of fractional number part and some special cases in [`Number.fromString`](https://github.com/tc39/proposal-number-fromstring)
6+
- Fixed handling of fractional number part in [`Number.fromString`](https://github.com/tc39/proposal-number-fromstring)
77
- Compat data improvements:
88
- Updated Opera Android 78 compat data mapping
99

packages/core-js/modules/esnext.number.from-string.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,11 @@ $({ target: 'Number', stat: true, forced: true }, {
2424
var sign = 1;
2525
if (typeof string != 'string') throw new $TypeError(INVALID_NUMBER_REPRESENTATION);
2626
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
27-
if (string === 'NaN') return NaN;
2827
if (charAt(string, 0) === '-') {
2928
sign = -1;
3029
string = stringSlice(string, 1);
31-
if (!string.length || string === '0') throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
30+
if (!string.length) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);
3231
}
33-
if (string === 'Infinity') return sign * Infinity;
3432
var R = radix === undefined ? 10 : toIntegerOrInfinity(radix);
3533
if (R < 2 || R > 36) throw new $RangeError(INVALID_RADIX);
3634
if (!exec(valid, string)) throw new $SyntaxError(INVALID_NUMBER_REPRESENTATION);

tests/unit-global/esnext.number.from-string.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,6 @@ QUnit.test('Number.fromString', assert => {
1717
}
1818
assert.throws(() => fromString('10', -4294967294), RangeError, 'Radix uses ToInteger #1');
1919

20-
assert.same(fromString('NaN'), NaN);
21-
assert.same(fromString('NaN', 2), NaN);
22-
assert.same(fromString('Infinity'), Infinity);
23-
assert.same(fromString('Infinity', 2), Infinity);
24-
assert.same(fromString('-Infinity'), -Infinity);
25-
assert.same(fromString('-Infinity', 2), -Infinity);
26-
2720
assert.same(fromString('10', 2.5), 2, 'Radix uses ToInteger #2');
2821
assert.same(fromString('42'), 42);
2922
assert.same(fromString('42', 10), 42);
@@ -33,8 +26,8 @@ QUnit.test('Number.fromString', assert => {
3326

3427
assert.same(fromString('0'), 0);
3528
assert.same(fromString('0', 2), 0);
36-
assert.throws(() => fromString('-0'), SyntaxError);
37-
assert.throws(() => fromString('-0', 2), SyntaxError);
29+
assert.same(fromString('-0'), -0);
30+
assert.same(fromString('-0', 2), -0);
3831

3932
assert.throws(() => fromString('0xc0ffee'), SyntaxError);
4033
assert.throws(() => fromString('0o755'), SyntaxError);

tests/unit-pure/esnext.number.from-string.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,6 @@ QUnit.test('Number.fromString', assert => {
1616
}
1717
assert.throws(() => fromString('10', -4294967294), RangeError, 'Radix uses ToInteger #1');
1818

19-
assert.same(fromString('NaN'), NaN);
20-
assert.same(fromString('NaN', 2), NaN);
21-
assert.same(fromString('Infinity'), Infinity);
22-
assert.same(fromString('Infinity', 2), Infinity);
23-
assert.same(fromString('-Infinity'), -Infinity);
24-
assert.same(fromString('-Infinity', 2), -Infinity);
25-
2619
assert.same(fromString('10', 2.5), 2, 'Radix uses ToInteger #2');
2720
assert.same(fromString('42'), 42);
2821
assert.same(fromString('42', 10), 42);
@@ -32,8 +25,8 @@ QUnit.test('Number.fromString', assert => {
3225

3326
assert.same(fromString('0'), 0);
3427
assert.same(fromString('0', 2), 0);
35-
assert.throws(() => fromString('-0'), SyntaxError);
36-
assert.throws(() => fromString('-0', 2), SyntaxError);
28+
assert.same(fromString('-0'), -0);
29+
assert.same(fromString('-0', 2), -0);
3730

3831
assert.throws(() => fromString('0xc0ffee'), SyntaxError);
3932
assert.throws(() => fromString('0o755'), SyntaxError);

0 commit comments

Comments
 (0)