Basics

Challenges

Classes

Cookies

Debugging

Events

External Files

Flow Control

Forms

Functions

Html Elements

Installation

Interfaces

Keywords

Modules

Namespaces

Operators

Reference Files

String

Types

TypeScript - Function Types

Functions have Types just as any primitive variable might have. foo can given a type of number, bool, date, or the type of a function. Knowing this, you can assign multiple variables to the same function.


function PostScore(score: number, playerName: string = "game player"): void
{
    let logger: (message: string) => void;
    if (score < 1)
    { logger=logLoser; }
    else
    { logger=logSuccess; }

    let scoreElement: HTMLElement | null=document.getElementById("posted-scores");
    scoreElement!.innerText=`${score} - ${playerName}`; logger(`Score: ${score}`);
}

let logSuccess = (message: string): void => console.log(message);
logSuccess("You did pretty good!");

let logLoser = (message: string): void => console.error(message);
logLoser("You did not do so well.");