TypeScript/tests/baselines/reference/symbolType3.types
Wesley Wigham 87d10eb055
Eliminate well known symbols as a concept in the checker and rely on unique symbols (#42543)
* 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
2021-02-22 14:43:28 -08:00

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