Return types describe the value a function sends back to its caller.

return type The annotation after the parameter list tells TypeScript what a function returns.

Return Values

example
returns.ts
Replay: real traced execution (multi-file project)
function rectangleArea(width: number, height: number): number {
    const area: number = width * height;
    return area;
}

const width: number = 6;
const height: number = 4;
const area: number = rectangleArea(width, height);

console.log(`area=${area}`);
function rectangleArea(width: number, height: number): number {
    const area: number = width * height;
    return area;
}

const width: number = 3;
const height: number = 4;
const area: number = rectangleArea(width, height);

console.log(`area=${area}`);
function rectangleArea(width: number, height: number): number {
    const area: number = width * height;
    return area;
}

const width: number = 10;
const height: number = 4;
const area: number = rectangleArea(width, height);

console.log(`area=${area}`);
function rectangleArea(width: number, height: number): number {
    const area: number = width * height;
    return area;
}

const width: number = 6;
const height: number = 2;
const area: number = rectangleArea(width, height);

console.log(`area=${area}`);
function rectangleArea(width: number, height: number): number {
    const area: number = width * height;
    return area;
}

const width: number = 6;
const height: number = 5;
const area: number = rectangleArea(width, height);

console.log(`area=${area}`);
  1. width ← 6, height ← 4

    3    return area;4}56const width→ 6: number = 6;  //@width=3, 107const height→ 4: number = 4;  //@height=2, 58const area: number = rectangleArea(width6, height4);
  2. area ← 24, width ← 6

    1function rectangleArea(width6: number, height4: number): number {2    const area→ 24: number = width→ 6 * height4;3    return area24;4}
  3. area ← 24

    6const width: number = 6;  //@width=3, 107const height: number = 4;  //@height=2, 58const area→ 24: number = rectangleArea(width6, height4);910console.log(`area=${area24}`);
    outputarea=24
  1. width ← 3, height ← 4

    3    return area;4}56const width→ 3: number = 3;7const height→ 4: number = 4;8const area: number = rectangleArea(width3, height4);
  2. area ← 12, width ← 3

    1function rectangleArea(width3: number, height4: number): number {2    const area→ 12: number = width→ 3 * height4;3    return area12;4}
  3. area ← 12

    6const width: number = 3;7const height: number = 4;8const area→ 12: number = rectangleArea(width3, height4);910console.log(`area=${area12}`);
    outputarea=12
  1. width ← 10, height ← 4

    3    return area;4}56const width→ 10: number = 10;7const height→ 4: number = 4;8const area: number = rectangleArea(width10, height4);
  2. area ← 40, width ← 10

    1function rectangleArea(width10: number, height4: number): number {2    const area→ 40: number = width→ 10 * height4;3    return area40;4}
  3. area ← 40

    6const width: number = 10;7const height: number = 4;8const area→ 40: number = rectangleArea(width10, height4);910console.log(`area=${area40}`);
    outputarea=40
  1. width ← 6, height ← 2

    3    return area;4}56const width→ 6: number = 6;7const height→ 2: number = 2;8const area: number = rectangleArea(width6, height2);
  2. area ← 12, width ← 6

    1function rectangleArea(width6: number, height2: number): number {2    const area→ 12: number = width→ 6 * height2;3    return area12;4}
  3. area ← 12

    6const width: number = 6;7const height: number = 2;8const area→ 12: number = rectangleArea(width6, height2);910console.log(`area=${area12}`);
    outputarea=12
  1. width ← 6, height ← 5

    3    return area;4}56const width→ 6: number = 6;7const height→ 5: number = 5;8const area: number = rectangleArea(width6, height5);
  2. area ← 30, width ← 6

    1function rectangleArea(width6: number, height5: number): number {2    const area→ 30: number = width→ 6 * height5;3    return area30;4}
  3. area ← 30

    6const width: number = 6;7const height: number = 5;8const area→ 30: number = rectangleArea(width6, height5);910console.log(`area=${area30}`);
    outputarea=30

Return the Area

  1. width starts as 6.
  2. height starts as 4.
  3. rectangleArea(width, height) multiplies them.
  4. The function returns 24.
  5. The script prints area=24. | Width | Height | Returned area | | --- | --- | --- | | 6 | 4 | 24 | | 3 | 2 | 6 | | 10 | 5 | 50 |

Exercise: returns.ts

Write a typed rectangleArea function that returns width times height and print the area