Syntax

void = function don’t return value.
any = function return something (not recommended).

optional parameter = ?

function objectParam(num: number, b?: string): boolean {
    return num % 2 === 0
}

dual parameter + cast

function dualParam(num: number | string): boolean {
    if (typeof num !== 'number') {
        num = parseInt(num, 10);
    }
    return <number>num % 2 === 0
}

Enum

enum UserResponse {
  No = 0,
  Yes = 1,
}
 
function respond(recipient: string, message: UserResponse): void {
  // ...
}
 
respond("Princess Caroline", UserResponse.Yes);