Skip to content

Instantly share code, notes, and snippets.

type BankAccount = {
balance: number;
};
function createBankAccount(initialBalance: number): BankAccount {
return {
balance: initialBalance
};
}
function createBankAccount() {
let balance: number = 0;
return {
deposit(amount: number) {
balance += amount;
console.log(`Déposé: ${amount}. Nouveau solde: ${balance}`);
},
withdraw(amount: number) {
if (amount <= balance) {
type WaterGlass = {
material: string;
quantity: number;
size: number[];
substance: string;
};
function createWaterGlass(quantity: number, substance: string) {
return function create(quantity: number, substance: string) {
return {
function createWaterGlassOperations(initialQuantity: number, initialSubstance: string) {
let currentQuantity = initialQuantity;
let currentSubstance = initialSubstance;
return {
drink: function(quantity: number) {
currentQuantity -= quantity;
console.log(`Drank ${quantity} from a ${currentSubstance} glass, ${currentQuantity} remaining.`);
},
fill: function(quantity: number, substance: string) {
type WaterGlass = {
material: string;
quantity: number;
size: number[];
substance: string;
};
function createWaterGlass(quantity: number, substance: string): WaterGlass {
return {
material: 'glass',
class SecondWaterGlass {
material: string
quantity: number
size: number[]
substance: string
constructor(quantity: number, substance: string) {
this.material = 'glass'
this.quantity = quantity
this.size = [120, 30]
function createCounter(): { increment: () => void } {
let count = 0;
return function(): void {
count++;
console.log(count);
}
}
function createMultiplier(multiplier: number): (arg: number) => number {
return function(value: number): number {
return value * multiplier;
};
}
// Création d'une fonction qui multiplie par 3
const triple = createMultiplier(3);
// Utilisation de la fonction retournée
// Une fonction simple qui multiplie un nombre par deux
function double(x: number): number {
return x * 2;
}
// Une High Order Function qui prend une fonction en argument
function applyFunction(arr: number[], func: (arg: number) => number): number[] {
return arr.map(func);
}
// Composition pour calculer la moyenne des carrés d'une liste de nombres
function averageOfSquares(numbers: number[]): number {
const arrayOne = numbers.map(square)
const arrayTwo = arrayOne.reduce(sum, 0);
console.log(`La valeur du tableau numbers est ${numbers}`)
console.log(`La valeur du tableau arrayOne est ${arrayOne}`)
console.log(`La valeur du tableau arrayTwo est ${arrayTwo}`)