TypeScript/tests/cases/compiler/destructuringAssignmentWithDefault.ts
Anders Hejlsberg 86040e0699 Add more tests
2019-06-01 10:36:53 -07:00

33 lines
838 B
TypeScript

// @strictNullChecks: true
const a: { x?: number } = { };
let x = 0;
({x = 1} = a);
// Repro from #26235
function f1(options?: { color?: string, width?: number }) {
let { color, width } = options || {};
({ color, width } = options || {});
let x1 = (options || {}).color;
let x2 = (options || {})["color"];
}
function f2(options?: [string?, number?]) {
let [str, num] = options || [];
[str, num] = options || [];
let x1 = (options || {})[0];
}
function f3(options?: { color: string, width: number }) {
let { color, width } = options || {};
({ color, width } = options || {});
let x1 = (options || {}).color;
let x2 = (options || {})["color"];
}
function f4(options?: [string, number]) {
let [str, num] = options || [];
[str, num] = options || [];
let x1 = (options || {})[0];
}