Solución
solution.tsTypeScript
export function createCounter(initial: number): number[] {
// Usa un IIFE para crear un módulo con estado privado
// El IIFE debe retornar un objeto con increment, decrement y getCount
// Luego ejecuta: increment(), increment(), decrement(), getCount()
// y retorna los resultados en un array
const counterObj = ( function () {
let count: number = initial;
return {
// Resta 1 y luego envia
// (con la sintaxis: 'count--' devolvería 'count' y luego restaría)
decrement: () => --count,
increment: () => ++count,
getCount: () => count,
}
})()
return [
counterObj.increment(),
counterObj.increment(),
counterObj.decrement(),
counterObj.getCount() ];
}0respuestas