g.pickardou g.pickardou - 3 months ago 17
TypeScript Question

How to pass optional parameters in TypeScript while omitting some other optional parameters?

Given the following signature:

export interface INotificationService {
error(message: string, title?: string, autoHideAfter? : number);
}


How can I call the function error() not specifying the title parameter, but setting autoHideAfter to say 1000?

Answer

You can just pass in undefined:

export interface INotificationService {
    error(message: string, title?: string, autoHideAfter? : number);
}

class X {
    error(message: string, title?: string, autoHideAfter?: number) {
        console.log(message, title, autoHideAfter);
    }
}

new X().error("hi there", undefined, 1000);

Playground link.