Take Math.random and Number.MAX_VALUE function.
Why is Number green and the other Blue (for my colour theme). This also applies to static methods on Number.
>Solution :
If you inspect the token scopes using Developer: Inspect Editor Tokens and Scopes, you’ll see:
-
For
Math: "semantic token type: variable" -
For
Number: "semantic token type: class"
This makes sense I think. In lib.es5.d.ts:
interface NumberConstructor {
new(value?: any): Number;
...
}
...
declare var Number: NumberConstructor;
...
interface Math {
... // no constructor (`new` function)
}
declare var Math: Math;
The new function in the MathConstructor type declaration is providing typings for the Number constructor, which indicates to TypeScript that Number is a class. But not so for the Math type.
