Case Studies
Cart Total Case
A cart summary combines typed items, a discount rule, and formatted output.
Cart Total Case
cart.ts
type CartItem = {
name: string;
cents: number;
quantity: number;
};
function cartTotal(items: CartItem[], discountCents: number): number {
let total: number = 0;
for (const item of items) {
total += item.cents * item.quantity;
}
return Math.max(0, total - discountCents);
}
const discountCents: number = ;
const items: CartItem[] = [
{ name: "book", cents: 1200, quantity: 1 },
{ name: "pen", cents: 200, quantity: 3 }
];
const total: number = cartTotal(items, discountCents);
console.log(`cart=${total}`);
type CartItem = {
name: string;
cents: number;
quantity: number;
};
function cartTotal(items: CartItem[], discountCents: number): number {
let total: number = 0;
for (const item of items) {
total += item.cents * item.quantity;
}
return Math.max(0, total - discountCents);
}
const discountCents: number = ;
const items: CartItem[] = [
{ name: "book", cents: 1200, quantity: 1 },
{ name: "pen", cents: 200, quantity: 3 }
];
const total: number = cartTotal(items, discountCents);
console.log(`cart=${total}`);
case study
A small case study shows several TypeScript pieces working together around one data flow.