Config objects collect related options so function calls stay readable.

Config Objects

config.ts
type RenderConfig = {
    prefix: string;
    uppercase: boolean;
};

function renderName(name: string, config: RenderConfig): string {
    const value: string = config.uppercase ? name.toUpperCase() : name;
    return `${config.prefix}:${value}`;
}

const uppercase: boolean = ;
const config: RenderConfig = { prefix: "user", uppercase: uppercase };
const output: string = renderName("Ada", config);

console.log(output);
type RenderConfig = {
    prefix: string;
    uppercase: boolean;
};

function renderName(name: string, config: RenderConfig): string {
    const value: string = config.uppercase ? name.toUpperCase() : name;
    return `${config.prefix}:${value}`;
}

const uppercase: boolean = ;
const config: RenderConfig = { prefix: "user", uppercase: uppercase };
const output: string = renderName("Ada", config);

console.log(output);
config object A config object passes named options into a function instead of relying on several positional arguments.