This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
+3
-1
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user