116 lines
3.4 KiB
TypeScript
116 lines
3.4 KiB
TypeScript
// @lib: es5
|
|
// @sourcemap: true
|
|
declare var console: {
|
|
log(msg: any): void;
|
|
}
|
|
type Robot = [number, string, string];
|
|
type MultiSkilledRobot = [string, [string, string]];
|
|
|
|
let robotA: Robot = [1, "mower", "mowing"];
|
|
function getRobot() {
|
|
return robotA;
|
|
}
|
|
|
|
let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
|
let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
|
function getMultiRobot() {
|
|
return multiRobotA;
|
|
}
|
|
|
|
let nameA: string, primarySkillA: string, secondarySkillA: string;
|
|
let numberB: number, nameB: string;
|
|
let numberA2: number, nameA2: string, skillA2: string, nameMA: string;
|
|
let numberA3: number, robotAInfo: (number | string)[], multiRobotAInfo: (string | [string, string])[];
|
|
let i: number;
|
|
|
|
for ([, nameA = "name"] = robotA, i = 0; i < 1; i++) {
|
|
console.log(nameA);
|
|
}
|
|
for ([, nameA = "name"] = getRobot(), i = 0; i < 1; i++) {
|
|
console.log(nameA);
|
|
}
|
|
for ([, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
|
|
console.log(nameA);
|
|
}
|
|
for ([, [
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]] = multiRobotA, i = 0; i < 1; i++) {
|
|
console.log(primarySkillA);
|
|
}
|
|
for ([, [
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]] = getMultiRobot(), i = 0; i < 1; i++) {
|
|
console.log(primarySkillA);
|
|
}
|
|
for ([, [
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
|
|
console.log(primarySkillA);
|
|
}
|
|
|
|
for ([numberB = -1] = robotA, i = 0; i < 1; i++) {
|
|
console.log(numberB);
|
|
}
|
|
for ([numberB = -1] = getRobot(), i = 0; i < 1; i++) {
|
|
console.log(numberB);
|
|
}
|
|
for ([numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
|
|
console.log(numberB);
|
|
}
|
|
for ([nameB = "name"] = multiRobotA, i = 0; i < 1; i++) {
|
|
console.log(nameB);
|
|
}
|
|
for ([nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) {
|
|
console.log(nameB);
|
|
}
|
|
for ([nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
|
|
console.log(nameB);
|
|
}
|
|
|
|
for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; i++) {
|
|
console.log(nameA2);
|
|
}
|
|
for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i < 1; i++) {
|
|
console.log(nameA2);
|
|
}
|
|
for ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
|
|
console.log(nameA2);
|
|
}
|
|
for (let
|
|
[nameMA = "noName",
|
|
[
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]
|
|
] = multiRobotA, i = 0; i < 1; i++) {
|
|
console.log(nameMA);
|
|
}
|
|
for ([nameMA = "noName",
|
|
[
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]
|
|
] = getMultiRobot(), i = 0; i < 1; i++) {
|
|
console.log(nameMA);
|
|
}
|
|
for ([nameMA = "noName",
|
|
[
|
|
primarySkillA = "primary",
|
|
secondarySkillA = "secondary"
|
|
] = ["none", "none"]
|
|
] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
|
|
console.log(nameMA);
|
|
}
|
|
|
|
for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) {
|
|
console.log(numberA3);
|
|
}
|
|
for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) {
|
|
console.log(numberA3);
|
|
}
|
|
for ([numberA3 = -1, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"], i = 0; i < 1; i++) {
|
|
console.log(numberA3);
|
|
} |