Skip to content

Number.is* should accept unknown #34931

Closed
@shicks

Description

@shicks

TypeScript Version: 3.8.0-dev.20191102

Search Terms: Number isInteger isSafeInteger isFinite isNaN

Code

declare function use(number: number): void;
declare const maybeNumber: string | number;
if (Number.isInteger(maybeNumber)) {
  use(maybeNumber as number);
}

Expected behavior:
Type checks

Actual behavior:
Fails to type check because Number.isInteger is typed to take only number.

Playground Link:
http://www.typescriptlang.org/play/index.html?ts=3.8.0-dev.20191102&ssl=3&ssc=2&pln=1&pc=1#code/CYUwxgNghgTiAEAzArgOzAFwJYHtX2QGcQAKVZAWwCMQYAuec62gSgYDcctgBuAKFCRYCMHkIZ4FKAE8aAOUo168cTCyoA5vAA+jRbX5ZE8EguYwAdFkIBJVBhAbaJKbJBmlLFvADefeATELjLy+jDwUIR65iz8AL5AA

Related Issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugA bug in TypeScriptDomain: lib.d.tsThe issue relates to the different libraries shipped with TypeScript

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions