TypeScript/tests/baselines/reference/symbolProperty56.types
2015-04-15 16:44:20 -07:00

29 lines
774 B
Plaintext

=== tests/cases/conformance/es6/Symbols/symbolProperty56.ts ===
var obj = {
>obj : { [Symbol.iterator]: number; }
>{ [Symbol.iterator]: 0} : { [Symbol.iterator]: number; }
[Symbol.iterator]: 0
>Symbol.iterator : symbol
>Symbol : SymbolConstructor
>iterator : symbol
>0 : number
};
module M {
>M : typeof M
var Symbol: {};
>Symbol : {}
// The following should be of type 'any'. This is because even though obj has a property keyed by Symbol.iterator,
// the key passed in here is the *wrong* Symbol.iterator. It is not the iterator property of the global Symbol.
obj[Symbol["iterator"]];
>obj[Symbol["iterator"]] : any
>obj : { [Symbol.iterator]: number; }
>Symbol["iterator"] : any
>Symbol : {}
>"iterator" : string
}