Skip to content

Instantly share code, notes, and snippets.

View ragmha's full-sized avatar

Räghib Hasan ragmha

View GitHub Profile
interface Sizes {
sizes: string[];
}
interface Pizza extends Sizes {
name: string;
toppings?: number;
getAvailableSizes(): void;
}
interface Pizza {
name: string;
sizes: string[];
getAvailableSizes(): void;
}
let pizza: Pizza;
function createPizza(name: string, sizes: string[]): Pizza {
return {
interface Pizza {
name: string;
sizes: string[];
}
let pizza: Pizza;
function createPizza(name: string, sizes: string[]): Pizza {
return { name, sizes };
}
const enum Sizes {
Small = "small",
Medium = "medium",
Large = "large",
}
let selected: Sizes = Sizes.Small;
function updateSize(size: Sizes): void {
selected = size;
enum Sizes {
Small,
Medium,
Large,
}
enum Sizes {
ExtraLarge = 3,
}
type Pizza = { name: string; toppings: number };
const pizza: Pizza = { name: 'Blazing Inferno', toppings: 5 };
const serialized = JSON.stringify(pizza);
function getNameFromJSON(obj: string) {
// return (<Pizza>JSON.parse(obj)).name;
return (JSON.parse(obj) as Pizza).name;
}
type Size = "small" | "medium" | "large";
type Callback = (size: Size) => void;
let pizzaSize: Size = "small";
const selectSize: Callback = x => (pizzaSize = x);
selectSize("medium");
console.log(`Pizza size: ${pizzaSize}`);
let pizza: [string, number, boolean];
pizza = ["Pepperoni", 20, true];
let sizes: number[];
sizes = [1, 2, 3];
let toppings: Array<string>;
toppings = ["pepperoni", "tomato", "baby"];
let pizza: { name: string; price: number; getName(): string } = {
name: "Plain Old Pepperoni",
price: 20,
getName() {
return pizza.name;
},
};
console.log(pizza.getName());