mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-09 07:55:10 -05:00
Test case for array binding pattern destructuring assignment with default values
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts]
|
||||
declare var console: {
|
||||
log(msg: any): void;
|
||||
}
|
||||
type Robot = [number, string, string];
|
||||
type MultiSkilledRobot = [string, string[]];
|
||||
|
||||
var robotA: Robot = [1, "mower", "mowing"];
|
||||
var robotB: Robot = [2, "trimmer", "trimming"];
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
let nameA: string, numberB: number, nameB: string, skillB: string;
|
||||
let robotAInfo: (number | string)[];
|
||||
|
||||
let multiSkillB: string[], nameMB: string, primarySkillB: string, secondarySkillB: string;
|
||||
let multiRobotAInfo: (string | string[])[];
|
||||
|
||||
[, nameA = "helloNoName"] = robotA;
|
||||
[, nameB = "helloNoName"] = getRobotB();
|
||||
[, nameB = "helloNoName"] = [2, "trimmer", "trimming"];
|
||||
[, multiSkillB = []] = multiRobotB;
|
||||
[, multiSkillB = []] = getMultiRobotB();
|
||||
[, multiSkillB = []] = ["roomba", ["vaccum", "mopping"]];
|
||||
|
||||
[numberB = -1] = robotB;
|
||||
[numberB = -1] = getRobotB();
|
||||
[numberB = -1] = [2, "trimmer", "trimming"];
|
||||
[nameMB = "helloNoName"] = multiRobotB;
|
||||
[nameMB = "helloNoName"] = getMultiRobotB();
|
||||
[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB;
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB();
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"];
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB;
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB();
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] =
|
||||
["trimmer", ["trimming", "edging"]];
|
||||
|
||||
[numberB = -1, ...robotAInfo] = robotB;
|
||||
[numberB = -1, ...robotAInfo] = getRobotB();
|
||||
[numberB = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"];
|
||||
|
||||
if (nameA == nameB) {
|
||||
console.log(skillB);
|
||||
}
|
||||
|
||||
function getRobotB() {
|
||||
return robotB;
|
||||
}
|
||||
|
||||
function getMultiRobotB() {
|
||||
return multiRobotB;
|
||||
}
|
||||
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.js]
|
||||
var robotA = [1, "mower", "mowing"];
|
||||
var robotB = [2, "trimmer", "trimming"];
|
||||
var multiRobotA = ["mower", ["mowing", ""]];
|
||||
var multiRobotB = ["trimmer", ["trimming", "edging"]];
|
||||
var nameA, numberB, nameB, skillB;
|
||||
var robotAInfo;
|
||||
var multiSkillB, nameMB, primarySkillB, secondarySkillB;
|
||||
var multiRobotAInfo;
|
||||
_a = robotA[1], nameA = _a === void 0 ? "helloNoName" : _a;
|
||||
_b = getRobotB(), _c = _b[1], nameB = _c === void 0 ? "helloNoName" : _c;
|
||||
_d = [2, "trimmer", "trimming"], _e = _d[1], nameB = _e === void 0 ? "helloNoName" : _e;
|
||||
_f = multiRobotB[1], multiSkillB = _f === void 0 ? [] : _f;
|
||||
_g = getMultiRobotB(), _h = _g[1], multiSkillB = _h === void 0 ? [] : _h;
|
||||
_j = ["roomba", ["vaccum", "mopping"]], _k = _j[1], multiSkillB = _k === void 0 ? [] : _k;
|
||||
_l = robotB[0], numberB = _l === void 0 ? -1 : _l;
|
||||
_m = getRobotB()[0], numberB = _m === void 0 ? -1 : _m;
|
||||
_o = [2, "trimmer", "trimming"][0], numberB = _o === void 0 ? -1 : _o;
|
||||
_p = multiRobotB[0], nameMB = _p === void 0 ? "helloNoName" : _p;
|
||||
_q = getMultiRobotB()[0], nameMB = _q === void 0 ? "helloNoName" : _q;
|
||||
_r = ["trimmer", ["trimming", "edging"]][0], nameMB = _r === void 0 ? "helloNoName" : _r;
|
||||
_s = robotB[0], numberB = _s === void 0 ? -1 : _s, _t = robotB[1], nameB = _t === void 0 ? "helloNoName" : _t, _u = robotB[2], skillB = _u === void 0 ? "noSkill" : _u;
|
||||
_v = getRobotB(), _w = _v[0], numberB = _w === void 0 ? -1 : _w, _x = _v[1], nameB = _x === void 0 ? "helloNoName" : _x, _y = _v[2], skillB = _y === void 0 ? "noSkill" : _y;
|
||||
_z = [2, "trimmer", "trimming"], _0 = _z[0], numberB = _0 === void 0 ? -1 : _0, _1 = _z[1], nameB = _1 === void 0 ? "helloNoName" : _1, _2 = _z[2], skillB = _2 === void 0 ? "noSkill" : _2;
|
||||
_3 = multiRobotB[0], nameMB = _3 === void 0 ? "helloNoName" : _3, _4 = multiRobotB[1], _5 = _4 === void 0 ? [] : _4, _6 = _5[0], primarySkillB = _6 === void 0 ? "noSkill" : _6, _7 = _5[1], secondarySkillB = _7 === void 0 ? "noSkill" : _7;
|
||||
_8 = getMultiRobotB(), _9 = _8[0], nameMB = _9 === void 0 ? "helloNoName" : _9, _10 = _8[1], _11 = _10 === void 0 ? [] : _10, _12 = _11[0], primarySkillB = _12 === void 0 ? "noSkill" : _12, _13 = _11[1], secondarySkillB = _13 === void 0 ? "noSkill" : _13;
|
||||
_14 = ["trimmer", ["trimming", "edging"]], _15 = _14[0], nameMB = _15 === void 0 ? "helloNoName" : _15, _16 = _14[1], _17 = _16 === void 0 ? [] : _16, _18 = _17[0], primarySkillB = _18 === void 0 ? "noSkill" : _18, _19 = _17[1], secondarySkillB = _19 === void 0 ? "noSkill" : _19;
|
||||
_20 = robotB[0], numberB = _20 === void 0 ? -1 : _20, robotAInfo = robotB.slice(1);
|
||||
_21 = getRobotB(), _22 = _21[0], numberB = _22 === void 0 ? -1 : _22, robotAInfo = _21.slice(1);
|
||||
_23 = [2, "trimmer", "trimming"], _24 = _23[0], numberB = _24 === void 0 ? -1 : _24, robotAInfo = _23.slice(1);
|
||||
if (nameA == nameB) {
|
||||
console.log(skillB);
|
||||
}
|
||||
function getRobotB() {
|
||||
return robotB;
|
||||
}
|
||||
function getMultiRobotB() {
|
||||
return multiRobotB;
|
||||
}
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;
|
||||
//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.js.map
|
||||
@@ -0,0 +1,2 @@
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.js.map]
|
||||
{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts"],"names":[],"mappings":"AAMA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC/C,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE,IAAI,KAAa,EAAE,OAAe,EAAE,KAAa,EAAE,MAAc,CAAC;AAClE,IAAI,UAA+B,CAAC;AAEpC,IAAI,WAAqB,EAAE,MAAc,EAAE,aAAqB,EAAE,eAAuB,CAAC;AAC1F,IAAI,eAAsC,CAAC;AAExC,cAAqB,EAArB,0CAAqB,CAAW;AACnC,gBAAuC,EAApC,UAAqB,EAArB,0CAAqB,CAAgB;AACxC,+BAAsD,EAAnD,UAAqB,EAArB,0CAAqB,CAA+B;AACpD,mBAAgB,EAAhB,qCAAgB,CAAgB;AACnC,qBAAuC,EAApC,UAAgB,EAAhB,qCAAgB,CAAqB;AACxC,sCAAwD,EAArD,UAAgB,EAAhB,qCAAgB,CAAsC;AAExD,cAAY,EAAZ,iCAAY,CAAW;AACvB,mBAAY,EAAZ,iCAAY,CAAgB;AAC5B,kCAAY,EAAZ,iCAAY,CAA+B;AAC3C,mBAAsB,EAAtB,2CAAsB,CAAgB;AACtC,wBAAsB,EAAtB,2CAAsB,CAAqB;AAC3C,2CAAsB,EAAtB,2CAAsB,CAAwC;AAE9D,cAAY,EAAZ,iCAAY,EAAE,cAAqB,EAArB,0CAAqB,EAAE,cAAkB,EAAlB,uCAAkB,CAAW;AACnE,gBAAuE,EAAtE,UAAY,EAAZ,iCAAY,EAAE,UAAqB,EAArB,0CAAqB,EAAE,UAAkB,EAAlB,uCAAkB,CAAgB;AACxE,+BAAsF,EAArF,UAAY,EAAZ,iCAAY,EAAE,UAAqB,EAArB,0CAAqB,EAAE,UAAkB,EAAlB,uCAAkB,CAA+B;AACtF,mBAAsB,EAAtB,2CAAsB,EAAE,mBAA6D,EAA7D,4BAA6D,EAA5D,UAAyB,EAAzB,8CAAyB,EAAE,UAA2B,EAA3B,gDAA2B,CAAsB;AACtG,qBAA0G,EAAzG,UAAsB,EAAtB,2CAAsB,EAAE,WAA6D,EAA7D,+BAA6D,EAA5D,YAAyB,EAAzB,gDAAyB,EAAE,YAA2B,EAA3B,kDAA2B,CAA2B;AAC3G,yCACuC,EADtC,YAAsB,EAAtB,6CAAsB,EAAE,YAA6D,EAA7D,+BAA6D,EAA5D,YAAyB,EAAzB,gDAAyB,EAAE,YAA2B,EAA3B,kDAA2B,CACxC;AAEvC,eAAY,EAAZ,mCAAY,EAAE,4BAAa,CAAW;AACvC,iBAA2C,EAA1C,YAAY,EAAZ,mCAAY,EAAE,yBAAa,CAAgB;AAC5C,gCAAiE,EAAhE,YAAY,EAAZ,mCAAY,EAAE,yBAAa,CAAsC;AAElE,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;IACI,MAAM,CAAC,MAAM,CAAC;AAClB,CAAC;AAED;IACI,MAAM,CAAC,WAAW,CAAC;AACvB,CAAC"}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,167 @@
|
||||
=== tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts ===
|
||||
declare var console: {
|
||||
>console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 0, 11))
|
||||
|
||||
log(msg: any): void;
|
||||
>log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 0, 22))
|
||||
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 1, 8))
|
||||
}
|
||||
type Robot = [number, string, string];
|
||||
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 2, 1))
|
||||
|
||||
type MultiSkilledRobot = [string, string[]];
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 3, 38))
|
||||
|
||||
var robotA: Robot = [1, "mower", "mowing"];
|
||||
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 6, 3))
|
||||
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 2, 1))
|
||||
|
||||
var robotB: Robot = [2, "trimmer", "trimming"];
|
||||
>robotB : Symbol(robotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 7, 3))
|
||||
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 2, 1))
|
||||
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
>multiRobotA : Symbol(multiRobotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 8, 3))
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 3, 38))
|
||||
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 9, 3))
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 3, 38))
|
||||
|
||||
let nameA: string, numberB: number, nameB: string, skillB: string;
|
||||
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 3))
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 50))
|
||||
|
||||
let robotAInfo: (number | string)[];
|
||||
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 12, 3))
|
||||
|
||||
let multiSkillB: string[], nameMB: string, primarySkillB: string, secondarySkillB: string;
|
||||
>multiSkillB : Symbol(multiSkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 3))
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>primarySkillB : Symbol(primarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 42))
|
||||
>secondarySkillB : Symbol(secondarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 65))
|
||||
|
||||
let multiRobotAInfo: (string | string[])[];
|
||||
>multiRobotAInfo : Symbol(multiRobotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 15, 3))
|
||||
|
||||
[, nameA = "helloNoName"] = robotA;
|
||||
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 3))
|
||||
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 6, 3))
|
||||
|
||||
[, nameB = "helloNoName"] = getRobotB();
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
>getRobotB : Symbol(getRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 45, 1))
|
||||
|
||||
[, nameB = "helloNoName"] = [2, "trimmer", "trimming"];
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
|
||||
[, multiSkillB = []] = multiRobotB;
|
||||
>multiSkillB : Symbol(multiSkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 3))
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 9, 3))
|
||||
|
||||
[, multiSkillB = []] = getMultiRobotB();
|
||||
>multiSkillB : Symbol(multiSkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 3))
|
||||
>getMultiRobotB : Symbol(getMultiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 49, 1))
|
||||
|
||||
[, multiSkillB = []] = ["roomba", ["vaccum", "mopping"]];
|
||||
>multiSkillB : Symbol(multiSkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 3))
|
||||
|
||||
[numberB = -1] = robotB;
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>robotB : Symbol(robotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 7, 3))
|
||||
|
||||
[numberB = -1] = getRobotB();
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>getRobotB : Symbol(getRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 45, 1))
|
||||
|
||||
[numberB = -1] = [2, "trimmer", "trimming"];
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
|
||||
[nameMB = "helloNoName"] = multiRobotB;
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 9, 3))
|
||||
|
||||
[nameMB = "helloNoName"] = getMultiRobotB();
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>getMultiRobotB : Symbol(getMultiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 49, 1))
|
||||
|
||||
[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]];
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB;
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 50))
|
||||
>robotB : Symbol(robotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 7, 3))
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB();
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 50))
|
||||
>getRobotB : Symbol(getRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 45, 1))
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"];
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 50))
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB;
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>primarySkillB : Symbol(primarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 42))
|
||||
>secondarySkillB : Symbol(secondarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 65))
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 9, 3))
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB();
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>primarySkillB : Symbol(primarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 42))
|
||||
>secondarySkillB : Symbol(secondarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 65))
|
||||
>getMultiRobotB : Symbol(getMultiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 49, 1))
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] =
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 26))
|
||||
>primarySkillB : Symbol(primarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 42))
|
||||
>secondarySkillB : Symbol(secondarySkillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 14, 65))
|
||||
|
||||
["trimmer", ["trimming", "edging"]];
|
||||
|
||||
[numberB = -1, ...robotAInfo] = robotB;
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 12, 3))
|
||||
>robotB : Symbol(robotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 7, 3))
|
||||
|
||||
[numberB = -1, ...robotAInfo] = getRobotB();
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 12, 3))
|
||||
>getRobotB : Symbol(getRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 45, 1))
|
||||
|
||||
[numberB = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"];
|
||||
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 18))
|
||||
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 12, 3))
|
||||
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 2, 1))
|
||||
|
||||
if (nameA == nameB) {
|
||||
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 3))
|
||||
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 35))
|
||||
|
||||
console.log(skillB);
|
||||
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 0, 22))
|
||||
>console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 0, 11))
|
||||
>log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 0, 22))
|
||||
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 11, 50))
|
||||
}
|
||||
|
||||
function getRobotB() {
|
||||
>getRobotB : Symbol(getRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 45, 1))
|
||||
|
||||
return robotB;
|
||||
>robotB : Symbol(robotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 7, 3))
|
||||
}
|
||||
|
||||
function getMultiRobotB() {
|
||||
>getMultiRobotB : Symbol(getMultiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 49, 1))
|
||||
|
||||
return multiRobotB;
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts, 9, 3))
|
||||
}
|
||||
@@ -0,0 +1,361 @@
|
||||
=== tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.ts ===
|
||||
declare var console: {
|
||||
>console : { log(msg: any): void; }
|
||||
|
||||
log(msg: any): void;
|
||||
>log : (msg: any) => void
|
||||
>msg : any
|
||||
}
|
||||
type Robot = [number, string, string];
|
||||
>Robot : [number, string, string]
|
||||
|
||||
type MultiSkilledRobot = [string, string[]];
|
||||
>MultiSkilledRobot : [string, string[]]
|
||||
|
||||
var robotA: Robot = [1, "mower", "mowing"];
|
||||
>robotA : [number, string, string]
|
||||
>Robot : [number, string, string]
|
||||
>[1, "mower", "mowing"] : [number, string, string]
|
||||
>1 : number
|
||||
>"mower" : string
|
||||
>"mowing" : string
|
||||
|
||||
var robotB: Robot = [2, "trimmer", "trimming"];
|
||||
>robotB : [number, string, string]
|
||||
>Robot : [number, string, string]
|
||||
>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>2 : number
|
||||
>"trimmer" : string
|
||||
>"trimming" : string
|
||||
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
>multiRobotA : [string, string[]]
|
||||
>MultiSkilledRobot : [string, string[]]
|
||||
>["mower", ["mowing", ""]] : [string, string[]]
|
||||
>"mower" : string
|
||||
>["mowing", ""] : string[]
|
||||
>"mowing" : string
|
||||
>"" : string
|
||||
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
>multiRobotB : [string, string[]]
|
||||
>MultiSkilledRobot : [string, string[]]
|
||||
>["trimmer", ["trimming", "edging"]] : [string, string[]]
|
||||
>"trimmer" : string
|
||||
>["trimming", "edging"] : string[]
|
||||
>"trimming" : string
|
||||
>"edging" : string
|
||||
|
||||
let nameA: string, numberB: number, nameB: string, skillB: string;
|
||||
>nameA : string
|
||||
>numberB : number
|
||||
>nameB : string
|
||||
>skillB : string
|
||||
|
||||
let robotAInfo: (number | string)[];
|
||||
>robotAInfo : (number | string)[]
|
||||
|
||||
let multiSkillB: string[], nameMB: string, primarySkillB: string, secondarySkillB: string;
|
||||
>multiSkillB : string[]
|
||||
>nameMB : string
|
||||
>primarySkillB : string
|
||||
>secondarySkillB : string
|
||||
|
||||
let multiRobotAInfo: (string | string[])[];
|
||||
>multiRobotAInfo : (string | string[])[]
|
||||
|
||||
[, nameA = "helloNoName"] = robotA;
|
||||
>[, nameA = "helloNoName"] = robotA : [number, string, string]
|
||||
>[, nameA = "helloNoName"] : [undefined, string]
|
||||
> : undefined
|
||||
>nameA = "helloNoName" : string
|
||||
>nameA : string
|
||||
>"helloNoName" : string
|
||||
>robotA : [number, string, string]
|
||||
|
||||
[, nameB = "helloNoName"] = getRobotB();
|
||||
>[, nameB = "helloNoName"] = getRobotB() : [number, string, string]
|
||||
>[, nameB = "helloNoName"] : [undefined, string]
|
||||
> : undefined
|
||||
>nameB = "helloNoName" : string
|
||||
>nameB : string
|
||||
>"helloNoName" : string
|
||||
>getRobotB() : [number, string, string]
|
||||
>getRobotB : () => [number, string, string]
|
||||
|
||||
[, nameB = "helloNoName"] = [2, "trimmer", "trimming"];
|
||||
>[, nameB = "helloNoName"] = [2, "trimmer", "trimming"] : [number, string, string]
|
||||
>[, nameB = "helloNoName"] : [undefined, string]
|
||||
> : undefined
|
||||
>nameB = "helloNoName" : string
|
||||
>nameB : string
|
||||
>"helloNoName" : string
|
||||
>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>2 : number
|
||||
>"trimmer" : string
|
||||
>"trimming" : string
|
||||
|
||||
[, multiSkillB = []] = multiRobotB;
|
||||
>[, multiSkillB = []] = multiRobotB : [string, string[]]
|
||||
>[, multiSkillB = []] : [undefined, undefined[]]
|
||||
> : undefined
|
||||
>multiSkillB = [] : undefined[]
|
||||
>multiSkillB : string[]
|
||||
>[] : undefined[]
|
||||
>multiRobotB : [string, string[]]
|
||||
|
||||
[, multiSkillB = []] = getMultiRobotB();
|
||||
>[, multiSkillB = []] = getMultiRobotB() : [string, string[]]
|
||||
>[, multiSkillB = []] : [undefined, undefined[]]
|
||||
> : undefined
|
||||
>multiSkillB = [] : undefined[]
|
||||
>multiSkillB : string[]
|
||||
>[] : undefined[]
|
||||
>getMultiRobotB() : [string, string[]]
|
||||
>getMultiRobotB : () => [string, string[]]
|
||||
|
||||
[, multiSkillB = []] = ["roomba", ["vaccum", "mopping"]];
|
||||
>[, multiSkillB = []] = ["roomba", ["vaccum", "mopping"]] : [string, string[]]
|
||||
>[, multiSkillB = []] : [undefined, undefined[]]
|
||||
> : undefined
|
||||
>multiSkillB = [] : undefined[]
|
||||
>multiSkillB : string[]
|
||||
>[] : undefined[]
|
||||
>["roomba", ["vaccum", "mopping"]] : [string, string[]]
|
||||
>"roomba" : string
|
||||
>["vaccum", "mopping"] : string[]
|
||||
>"vaccum" : string
|
||||
>"mopping" : string
|
||||
|
||||
[numberB = -1] = robotB;
|
||||
>[numberB = -1] = robotB : [number, string, string]
|
||||
>[numberB = -1] : [number]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>robotB : [number, string, string]
|
||||
|
||||
[numberB = -1] = getRobotB();
|
||||
>[numberB = -1] = getRobotB() : [number, string, string]
|
||||
>[numberB = -1] : [number]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>getRobotB() : [number, string, string]
|
||||
>getRobotB : () => [number, string, string]
|
||||
|
||||
[numberB = -1] = [2, "trimmer", "trimming"];
|
||||
>[numberB = -1] = [2, "trimmer", "trimming"] : [number, string, string]
|
||||
>[numberB = -1] : [number]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>2 : number
|
||||
>"trimmer" : string
|
||||
>"trimming" : string
|
||||
|
||||
[nameMB = "helloNoName"] = multiRobotB;
|
||||
>[nameMB = "helloNoName"] = multiRobotB : [string, string[]]
|
||||
>[nameMB = "helloNoName"] : [string]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>multiRobotB : [string, string[]]
|
||||
|
||||
[nameMB = "helloNoName"] = getMultiRobotB();
|
||||
>[nameMB = "helloNoName"] = getMultiRobotB() : [string, string[]]
|
||||
>[nameMB = "helloNoName"] : [string]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>getMultiRobotB() : [string, string[]]
|
||||
>getMultiRobotB : () => [string, string[]]
|
||||
|
||||
[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]];
|
||||
>[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]] : [string, string[]]
|
||||
>[nameMB = "helloNoName"] : [string]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>["trimmer", ["trimming", "edging"]] : [string, string[]]
|
||||
>"trimmer" : string
|
||||
>["trimming", "edging"] : string[]
|
||||
>"trimming" : string
|
||||
>"edging" : string
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB;
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB : [number, string, string]
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>nameB = "helloNoName" : string
|
||||
>nameB : string
|
||||
>"helloNoName" : string
|
||||
>skillB = "noSkill" : string
|
||||
>skillB : string
|
||||
>"noSkill" : string
|
||||
>robotB : [number, string, string]
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB();
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB() : [number, string, string]
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>nameB = "helloNoName" : string
|
||||
>nameB : string
|
||||
>"helloNoName" : string
|
||||
>skillB = "noSkill" : string
|
||||
>skillB : string
|
||||
>"noSkill" : string
|
||||
>getRobotB() : [number, string, string]
|
||||
>getRobotB : () => [number, string, string]
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"];
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"] : [number, string, string]
|
||||
>[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] : [number, string, string]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>nameB = "helloNoName" : string
|
||||
>nameB : string
|
||||
>"helloNoName" : string
|
||||
>skillB = "noSkill" : string
|
||||
>skillB : string
|
||||
>"noSkill" : string
|
||||
>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>2 : number
|
||||
>"trimmer" : string
|
||||
>"trimming" : string
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB;
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB : [string, string[]]
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string]
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string]
|
||||
>primarySkillB = "noSkill" : string
|
||||
>primarySkillB : string
|
||||
>"noSkill" : string
|
||||
>secondarySkillB = "noSkill" : string
|
||||
>secondarySkillB : string
|
||||
>"noSkill" : string
|
||||
>[] : [string, string]
|
||||
>multiRobotB : [string, string[]]
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB();
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB() : [string, string[]]
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string]
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string]
|
||||
>primarySkillB = "noSkill" : string
|
||||
>primarySkillB : string
|
||||
>"noSkill" : string
|
||||
>secondarySkillB = "noSkill" : string
|
||||
>secondarySkillB : string
|
||||
>"noSkill" : string
|
||||
>[] : [string, string]
|
||||
>getMultiRobotB() : [string, string[]]
|
||||
>getMultiRobotB : () => [string, string[]]
|
||||
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] =
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]]
|
||||
>[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] : [string, [string, string]]
|
||||
>nameMB = "helloNoName" : string
|
||||
>nameMB : string
|
||||
>"helloNoName" : string
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] = [] : [string, string]
|
||||
>[primarySkillB = "noSkill", secondarySkillB = "noSkill"] : [string, string]
|
||||
>primarySkillB = "noSkill" : string
|
||||
>primarySkillB : string
|
||||
>"noSkill" : string
|
||||
>secondarySkillB = "noSkill" : string
|
||||
>secondarySkillB : string
|
||||
>"noSkill" : string
|
||||
>[] : [string, string]
|
||||
|
||||
["trimmer", ["trimming", "edging"]];
|
||||
>["trimmer", ["trimming", "edging"]] : [string, [string, string]]
|
||||
>"trimmer" : string
|
||||
>["trimming", "edging"] : [string, string]
|
||||
>"trimming" : string
|
||||
>"edging" : string
|
||||
|
||||
[numberB = -1, ...robotAInfo] = robotB;
|
||||
>[numberB = -1, ...robotAInfo] = robotB : [number, string, string]
|
||||
>[numberB = -1, ...robotAInfo] : (number | string)[]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>...robotAInfo : number | string
|
||||
>robotAInfo : (number | string)[]
|
||||
>robotB : [number, string, string]
|
||||
|
||||
[numberB = -1, ...robotAInfo] = getRobotB();
|
||||
>[numberB = -1, ...robotAInfo] = getRobotB() : [number, string, string]
|
||||
>[numberB = -1, ...robotAInfo] : (number | string)[]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>...robotAInfo : number | string
|
||||
>robotAInfo : (number | string)[]
|
||||
>getRobotB() : [number, string, string]
|
||||
>getRobotB : () => [number, string, string]
|
||||
|
||||
[numberB = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"];
|
||||
>[numberB = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>[numberB = -1, ...robotAInfo] : (number | string)[]
|
||||
>numberB = -1 : number
|
||||
>numberB : number
|
||||
>-1 : number
|
||||
>1 : number
|
||||
>...robotAInfo : number | string
|
||||
>robotAInfo : (number | string)[]
|
||||
><Robot>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>Robot : [number, string, string]
|
||||
>[2, "trimmer", "trimming"] : [number, string, string]
|
||||
>2 : number
|
||||
>"trimmer" : string
|
||||
>"trimming" : string
|
||||
|
||||
if (nameA == nameB) {
|
||||
>nameA == nameB : boolean
|
||||
>nameA : string
|
||||
>nameB : string
|
||||
|
||||
console.log(skillB);
|
||||
>console.log(skillB) : void
|
||||
>console.log : (msg: any) => void
|
||||
>console : { log(msg: any): void; }
|
||||
>log : (msg: any) => void
|
||||
>skillB : string
|
||||
}
|
||||
|
||||
function getRobotB() {
|
||||
>getRobotB : () => [number, string, string]
|
||||
|
||||
return robotB;
|
||||
>robotB : [number, string, string]
|
||||
}
|
||||
|
||||
function getMultiRobotB() {
|
||||
>getMultiRobotB : () => [string, string[]]
|
||||
|
||||
return multiRobotB;
|
||||
>multiRobotB : [string, string[]]
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
// @sourcemap: true
|
||||
declare var console: {
|
||||
log(msg: any): void;
|
||||
}
|
||||
type Robot = [number, string, string];
|
||||
type MultiSkilledRobot = [string, string[]];
|
||||
|
||||
var robotA: Robot = [1, "mower", "mowing"];
|
||||
var robotB: Robot = [2, "trimmer", "trimming"];
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
let nameA: string, numberB: number, nameB: string, skillB: string;
|
||||
let robotAInfo: (number | string)[];
|
||||
|
||||
let multiSkillB: string[], nameMB: string, primarySkillB: string, secondarySkillB: string;
|
||||
let multiRobotAInfo: (string | string[])[];
|
||||
|
||||
[, nameA = "helloNoName"] = robotA;
|
||||
[, nameB = "helloNoName"] = getRobotB();
|
||||
[, nameB = "helloNoName"] = [2, "trimmer", "trimming"];
|
||||
[, multiSkillB = []] = multiRobotB;
|
||||
[, multiSkillB = []] = getMultiRobotB();
|
||||
[, multiSkillB = []] = ["roomba", ["vaccum", "mopping"]];
|
||||
|
||||
[numberB = -1] = robotB;
|
||||
[numberB = -1] = getRobotB();
|
||||
[numberB = -1] = [2, "trimmer", "trimming"];
|
||||
[nameMB = "helloNoName"] = multiRobotB;
|
||||
[nameMB = "helloNoName"] = getMultiRobotB();
|
||||
[nameMB = "helloNoName"] = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = robotB;
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = getRobotB();
|
||||
[numberB = -1, nameB = "helloNoName", skillB = "noSkill"] = [2, "trimmer", "trimming"];
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = multiRobotB;
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] = getMultiRobotB();
|
||||
[nameMB = "helloNoName", [primarySkillB = "noSkill", secondarySkillB = "noSkill"] = []] =
|
||||
["trimmer", ["trimming", "edging"]];
|
||||
|
||||
[numberB = -1, ...robotAInfo] = robotB;
|
||||
[numberB = -1, ...robotAInfo] = getRobotB();
|
||||
[numberB = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"];
|
||||
|
||||
if (nameA == nameB) {
|
||||
console.log(skillB);
|
||||
}
|
||||
|
||||
function getRobotB() {
|
||||
return robotB;
|
||||
}
|
||||
|
||||
function getMultiRobotB() {
|
||||
return multiRobotB;
|
||||
}
|
||||
Reference in New Issue
Block a user