A callback is a function passed as a value so another function can call it later.

Callbacks

callbacks.ts
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
function applyTwice(value: number, transform: (input: number) => number): number {
    const once: number = transform(value);
    const twice: number = transform(once);
    return twice;
}

const startValue: number = ;
const step: number = ;

const addStep = (input: number): number => input + step;
const result: number = applyTwice(startValue, addStep);

console.log(`result=${result}`);
callback Function types such as `(value: number) => number` describe callbacks.