diff --git a/javascript/Javascript Expert/chapter11/find.js b/javascript/Javascript Expert/chapter11/find.js index 208d3be..78f1dd9 100644 --- a/javascript/Javascript Expert/chapter11/find.js +++ b/javascript/Javascript Expert/chapter11/find.js @@ -43,6 +43,6 @@ const account4 = { }; const accounts = [account1, account2, account3, account4]; -// im folgenden Beispiel wird das ganze Object, das der Bedienung acc.owner ==="Nika Aster" enspricht zurück gegeben +// im folgenden Beispiel wird das ganze Object, das der Bedienung acc.owner ==="Steven Schmidt" enspricht zurück gegeben const account = accounts.find(acc => acc.owner === "Steven Schmidt"); console.log(account); diff --git a/javascript/Javascript Expert/chapter12/MathAndRounding.js b/javascript/Javascript Expert/chapter12/MathAndRounding.js new file mode 100644 index 0000000..aff652d --- /dev/null +++ b/javascript/Javascript Expert/chapter12/MathAndRounding.js @@ -0,0 +1,31 @@ +console.log(Math.sqrt(49)); +console.log(2 ** 8); // Mithilfe ** Operator kann man Exponent berechnen. Es kann auch mit pow() Function berechnet werden +console.log(Math.pow(2, 8)); + +console.log(Math.max(1, 8, 9, 4, 6, 2, 6, 8, 4, 5, 6)); +console.log(Math.min(1, 8, "9", 4, 6, "2", 6, 8, 4, 5, 6)); +console.log(Math.min(1, 8, "9rem", 4, 6, "2px", 6, 8, 4, 5, 6)); // min() Fuktion ermöglicht keine Buchstaben beim Vergleich der Werte + +console.log(Math.PI); // Konstante der Math Schnitstelle +console.log(Math.trunc(23.5)); // einen Wert runden +console.log(Math.trunc(23.4)); // 23 - der dezimal Teil der Nummer wird be der trunc() Function entfernt +console.log(Math.trunc(23.6)); // 23 + +console.log(Math.ceil(23.5)); // einen Wert hinauf runden 24 +console.log(Math.ceil(23.4)); // 24 - wenn eine Nummer auch dezimal Teil der Nummer hat, wird der Teil ganzzahliger Wert hinauf runden +console.log(Math.ceil(23.6)); // 24 + +console.log(Math.floor(23.5)); // einen Wert hinunten runden 23 +console.log(Math.floor(23.4)); // 23 - wenn eine Nummer auch dezimal Teil der Nummer hat, wird der Teil ganzzahliger Wert hinunten runden +console.log(Math.floor(23.6)); // 23 + +console.log((3.7).toFixed(0)); // wird auf 3 gerundet und in den String konvertiert, mit der expliziten Konvertierung errreicht man ein numerischer Wert +console.log((3.7).toFixed(2)); // wird auf 3.70 gerundet +console.log((3.7).toFixed(3)); // wird auf 3.700 gerundet + +console.log(98734698743268724585785437845n); // Konvertierung in den BigInt Wert +// console.log(10000 + 10000n); // kann man nicht verschieden DataTypen berechnet werden +console.log(BigInt(10000) + 10000n); // stattdessen man muss der ganzzälige Wert konvertiert werden +console.log(1000n == 1000); // in diesem Fall Javascript Engine macht Konversion der ersten Nummer +console.log(typeof 1000n); // bigint +console.log(typeof 1000); // number diff --git a/javascript/Javascript Expert/chapter12/index.html b/javascript/Javascript Expert/chapter12/index.html new file mode 100644 index 0000000..ccf8b66 --- /dev/null +++ b/javascript/Javascript Expert/chapter12/index.html @@ -0,0 +1,12 @@ + + + + + + + Numbers Dates and Timers + + + + + diff --git a/javascript/Javascript Expert/chapter12/numberParsing.js b/javascript/Javascript Expert/chapter12/numberParsing.js new file mode 100644 index 0000000..2e3d0b8 --- /dev/null +++ b/javascript/Javascript Expert/chapter12/numberParsing.js @@ -0,0 +1,24 @@ +console.log(0.1 + 0.2); +console.log(0.1 + 0.2 === 0.3); + +// Conversion +console.log(Number("47")); +// das gleiche Conversion +console.log(+"47"); + +// Parsing +console.log(Number.parseInt("23px", 10)); +console.log(Number.parseInt("e47", 10)); // NaN + +console.log(Number.parseFloat("2.5rem", 10)); +console.log(Number.parseFloat(" 25rem ", 10)); + +console.log(Number.isNaN(20)); +console.log(Number.isNaN("20")); +console.log(Number.isNaN("20x")); +console.log(Number.isNaN(20 / 0)); // Infinity +console.log(Number.isNaN("20 / 0")); + +// Conversion wird nicht berücksihtigt, überprüfung ob der numerische Wert ist +console.log(Number.isFinite("20")); +console.log(Number.isFinite(20)); // gibt nur dann true zurück, nur dann wenn der Wert ein numerischer Wert ist diff --git a/javascript/Javascript Expert/chapter12/template.js b/javascript/Javascript Expert/chapter12/template.js new file mode 100644 index 0000000..4c0890e --- /dev/null +++ b/javascript/Javascript Expert/chapter12/template.js @@ -0,0 +1,43 @@ +"use strict"; + +const account1 = { + owner: "David Schmidt", + movements: [200, 455.23, -306.5, 25000, -642.21, -133.9, 79.97, 1300], + interestRate: 1.2, // % + pin: 1111, + + movementsDates: [ + "2019-11-18T21:31:17.178Z", + "2019-12-23T07:42:02.383Z", + "2020-01-28T09:15:04.904Z", + "2020-04-01T10:17:24.185Z", + "2020-05-08T14:11:59.604Z", + "2020-05-27T17:01:17.194Z", + "2020-07-11T23:36:17.929Z", + "2020-07-12T10:51:36.790Z", + ], + currency: "EUR", + locale: "pt-PT", // de-DE +}; + +const account2 = { + owner: "Joanne Davis", + movements: [5000, 3400, -150, -790, -3210, -1000, 8500, -30], + interestRate: 1.5, + pin: 2222, + + movementsDates: [ + "2019-11-01T13:15:33.035Z", + "2019-11-30T09:48:16.867Z", + "2019-12-25T06:04:23.907Z", + "2020-01-25T14:18:46.235Z", + "2020-02-05T16:33:06.386Z", + "2020-04-10T14:43:26.374Z", + "2020-06-25T18:49:59.371Z", + "2020-07-26T12:01:20.894Z", + ], + currency: "USD", + locale: "en-US", +}; + +const accounts = [account1, account2];