1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
//// [computedPropertiesInDestructuring1_ES6.ts]
// destructuring in variable declarations
let foo = "bar";
let {[foo]: bar} = {bar: "bar"};
let {["bar"]: bar2} = {bar: "bar"};
let {[11]: bar2_1} = {11: "bar"};
let foo2 = () => "bar";
let {[foo2()]: bar3} = {bar: "bar"};
let [{[foo]: bar4}] = [{bar: "bar"}];
let [{[foo2()]: bar5}] = [{bar: "bar"}];
function f1({["bar"]: x}: { bar: number }) {}
function f2({[foo]: x}: { bar: number }) {}
function f3({[foo2()]: x}: { bar: number }) {}
function f4([{[foo]: x}]: [{ bar: number }]) {}
function f5([{[foo2()]: x}]: [{ bar: number }]) {}
// report errors on type errors in computed properties used in destructuring
let [{[foo()]: bar6}] = [{bar: "bar"}];
let [{[foo.toExponential()]: bar7}] = [{bar: "bar"}];
// destructuring assignment
({[foo]: bar} = {bar: "bar"});
({["bar"]: bar2} = {bar: "bar"});
({[foo2()]: bar3} = {bar: "bar"});
[{[foo]: bar4}] = [{bar: "bar"}];
[{[foo2()]: bar5}] = [{bar: "bar"}];
[{[foo()]: bar4}] = [{bar: "bar"}];
[{[(1 + {})]: bar4}] = [{bar: "bar"}];
//// [computedPropertiesInDestructuring1_ES6.js]
// destructuring in variable declarations
let foo = "bar";
let { [foo]: bar } = { bar: "bar" };
let { ["bar"]: bar2 } = { bar: "bar" };
let { [11]: bar2_1 } = { 11: "bar" };
let foo2 = () => "bar";
let { [foo2()]: bar3 } = { bar: "bar" };
let [{ [foo]: bar4 }] = [{ bar: "bar" }];
let [{ [foo2()]: bar5 }] = [{ bar: "bar" }];
function f1({ ["bar"]: x }) { }
function f2({ [foo]: x }) { }
function f3({ [foo2()]: x }) { }
function f4([{ [foo]: x }]) { }
function f5([{ [foo2()]: x }]) { }
// report errors on type errors in computed properties used in destructuring
let [{ [foo()]: bar6 }] = [{ bar: "bar" }];
let [{ [foo.toExponential()]: bar7 }] = [{ bar: "bar" }];
// destructuring assignment
({ [foo]: bar } = { bar: "bar" });
({ ["bar"]: bar2 } = { bar: "bar" });
({ [foo2()]: bar3 } = { bar: "bar" });
[{ [foo]: bar4 }] = [{ bar: "bar" }];
[{ [foo2()]: bar5 }] = [{ bar: "bar" }];
[{ [foo()]: bar4 }] = [{ bar: "bar" }];
[{ [(1 + {})]: bar4 }] = [{ bar: "bar" }];
|