TypeScript/tests/cases/conformance/expressions/assignmentOperator/assignmentTypeNarrowing.ts
2016-03-25 21:29:58 +01:00

29 lines
349 B
TypeScript

let x: string | number | boolean | RegExp;
x = "";
x; // string
[x] = [true];
x; // boolean
[x = ""] = [1];
x; // string | number
({x} = {x: true});
x; // boolean
({y: x} = {y: 1});
x; // number
({x = ""} = {x: true});
x; // string | boolean
({y: x = /a/} = {y: 1});
x; // number | RegExp
let a: string[];
for (x of a) {
x; // string
}