This commit is contained in:
Philippe Torrel
2026-10-15 10:33:51 +02:00
parent 64722b9dd2
commit 2a541fcdb1
14 changed files with 195 additions and 41 deletions
@@ -1,5 +1,5 @@
function calculateDiscount(price: number, discount: string): number {
return price - parseFloat(discount);
function calculateDiscount(price: number, discount: number): number {
return price - discount;
}
const finalPrice = calculateDiscount(100, 10);
@@ -1,6 +1,25 @@
const user = {
name: 'John Doe',
age: 30,
};
{
interface User {
name: string;
age: number;
email?: string; // optional property ?
}
console.log(user.email.toLowerCase());
const user: User = {
name: 'John Doe',
age: 30,
email: 'john@example.com',
};
const trainer: User = {
name: 'Philippe Torrel',
age: 42,
};
// 'trainer.email' is possibly 'undefined'.
// trainer.email.toLowerCase();
trainer.email?.toLowerCase();
console.log(user.email?.toLowerCase());
console.log(user.email ? user.email.toLowerCase() : 'No existing mail');
}
@@ -0,0 +1,34 @@
(() => {
var __getOwnPropNames = Object.getOwnPropertyNames;
var __commonJS = (cb, mod) => function __require() {
try {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
} catch (e) {
throw mod = 0, e;
}
};
// src/main.ts
var require_main = __commonJS({
"src/main.ts"() {
var myCar = {
startEngine: (key) => {
console.log(`Engine started with key: ${key}`);
return true;
},
drive: (speed) => {
return `Driving at ${speed} km/h`;
}
};
function operateVehicle(vehicle) {
if (vehicle.startEngine("car-key")) {
return vehicle.drive(60);
} else {
return "Engine failed to start.";
}
}
console.log(operateVehicle(myCar));
}
});
require_main();
})();
@@ -0,0 +1,24 @@
interface Vehicle {
startEngine: (key: string) => boolean;
drive: (speed: number) => string;
}
const myCar = {
startEngine: (key: string) => {
console.log(`Engine started with key: ${key}`);
return true;
},
drive: (speed: number) => {
return `Driving at ${speed} km/h`;
},
};
function operateVehicle(vehicle: Vehicle): string {
if (vehicle.startEngine('car-key')) {
return vehicle.drive(60);
} else {
return 'Engine failed to start.';
}
}
console.log(operateVehicle(myCar));
@@ -1,24 +1,40 @@
interface Vehicle {
startEngine: (key: string) => boolean;
drive: (speed: number) => string;
}
const myCar = {
startEngine: () => {
console.log('Engine started');
return true;
},
drive: () => {
return 'Driving at default speed';
},
};
function operateVehicle(vehicle: Vehicle): string {
if (vehicle.startEngine('car-key')) {
return vehicle.drive(60);
} else {
return 'Engine failed to start.';
{
interface Vehicle {
startEngine: (key: string) => boolean;
drive: (speed: number) => string;
}
}
console.log(operateVehicle(myCar));
const myCar = {
startEngine: (key: string) => {
let returnBoolean = false;
if (key === 'car-key') {
console.log('Engine started');
returnBoolean = true;
}
return returnBoolean;
},
drive: (speed: number) => {
let returnString = 'Driving at default speed';
if (speed < 60) {
returnString = "You're an old man and way too slow";
} else if (speed > 60) {
returnString = 'You are an racer! Careful, the police is already watching you!';
}
return returnString;
},
};
function operateVehicle(vehicle: Vehicle): string {
if (vehicle.startEngine('car-key')) {
return vehicle.drive(60);
} else {
return 'Engine failed to start.';
}
}
console.log(operateVehicle(myCar));
}
@@ -24,5 +24,7 @@
const weather = [{ main: [{ icon: '10dn', description: 'Clouds' }] }];
console.log(weather[0]?.test[0]?.test);
// seit 2020
console.log(weather[0].test); // undefined
console.log(weather[0]?.main?.[0]?.test); // undefined
}
@@ -17,6 +17,7 @@
function getResult(): string | number {
return Math.random() > 0.5 ? 'Success' : 404;
}
function getResult2(): string {
return Math.random() > 0.5 ? 'success' : 'error';
}
@@ -3,6 +3,7 @@
interface Vehicle {
make: string;
model: string;
color?: string;
startEngine: () => string;
stopEngine?: () => string; // ?: optional Property
}
@@ -0,0 +1,30 @@
// Optional Exception Parameter in JS
{
const vehicle = {
make: 'Toyota',
model: 'Corolla',
startEngine: function () {
return `${this.make} engine startet`;
},
// Methode - Kurzschreibweise ES6
startEngine2() {
return `${this.make} engine startet`;
},
stopEngine: () => {
console.log(this); // => window (browser) | undefined (node)
return `${vehicle.make} engine gestoppt`;
},
};
console.log(vehicle.startEngine()); // => 'Toyota engine startet'
console.log(vehicle.stopEngine()); // => 'Toyota engine startet'
const weather = [{ main: [{ icon: '10dn', description: 'Clouds' }] }];
// seit 2020
console.log(weather[0].test); // undefined
console.log(weather[0]?.main?.[0]?.test); // undefined
}