as tells the compiler. satisfies checks a shape without widening.
Goal
Assert a JSON value is a Sale.
interface Sale { city: string; units: number }
const row = { city: "Nairobi", units: 12 } as Sale;
console.log(row.city);const cities = ["Nairobi", "Mombasa"] as const;
console.log(cities[0]);const row = {
city: "Kisumu",
units: 5,
} satisfies { city: string; units: number };
console.log(row.units);const n = 12 as number;
console.log(n);