87d10eb055
* Eliminate well-known symbols in the checker: 2021 edition * Actually update the lib text to say unique symbol, too (this is unneeded with compat code in place, but this makes goto-def make more sense) * Add test showing mismatched symbol constructor type interop * Add more test cases for some other related issues this fixes * Revert computed name change * Style comments
61 lines
1.3 KiB
Plaintext
61 lines
1.3 KiB
Plaintext
=== tests/cases/conformance/es6/Symbols/symbolType3.ts ===
|
|
var s = Symbol();
|
|
>s : symbol
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
|
|
delete Symbol.iterator;
|
|
>delete Symbol.iterator : boolean
|
|
>Symbol.iterator : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>iterator : unique symbol
|
|
|
|
void Symbol.toPrimitive;
|
|
>void Symbol.toPrimitive : undefined
|
|
>Symbol.toPrimitive : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>toPrimitive : unique symbol
|
|
|
|
typeof Symbol.toStringTag;
|
|
>typeof Symbol.toStringTag : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"
|
|
>Symbol.toStringTag : unique symbol
|
|
>Symbol : SymbolConstructor
|
|
>toStringTag : unique symbol
|
|
|
|
++s;
|
|
>++s : number
|
|
>s : symbol
|
|
|
|
--s;
|
|
>--s : number
|
|
>s : symbol
|
|
|
|
+ Symbol();
|
|
>+ Symbol() : number
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
|
|
- Symbol();
|
|
>- Symbol() : number
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
|
|
~ Symbol();
|
|
>~ Symbol() : number
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
|
|
! Symbol();
|
|
>! Symbol() : boolean
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
|
|
+(Symbol() || 0);
|
|
>+(Symbol() || 0) : number
|
|
>(Symbol() || 0) : symbol | 0
|
|
>Symbol() || 0 : symbol | 0
|
|
>Symbol() : symbol
|
|
>Symbol : SymbolConstructor
|
|
>0 : 0
|
|
|