ECMAScript 2015 war die zweite große Überarbeitung von JavaScript.
ECMAScript 2015 ist auch als ES6 und ECMAScript 6 bekannt.
In diesem Kapitel werden die wichtigsten Funktionen von ES6 beschrieben.
Das let-Schlüsselwort
Das const-Schlüsselwort
Pfeilfunktionen
Der ... Operator
Für/von
Kartenobjekte
Objekte festlegen
Klassen
Versprechen
Symbol
Standardparameter
Funktionsrestparameter
String.includes()
String.startsWith()
String.endsWith()
Array.from()
Array-Schlüssel()
Array find()
Array findIndex()
Neue mathematische Methoden
Neue Nummerneigenschaften
Neue Zahlenmethoden
Neue globale Methoden
Objekteinträge
JavaScript-Module
Safari 10 und Edge 14 waren die ersten Browser, die ES6 vollständig unterstützten:
Chrome 58 | Edge 14 | Firefox 54 | Safari 10 | Opera 55 |
Jan 2017 | Aug 2016 | Mar 2017 | Jul 2016 | Aug 2018 |
Mit dem Schlüsselwort let
können Sie eine Variable mit deklarieren Blockbereich.
var x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Redeclaring a Variable Using let</h2>
<p id="demo"></p>
<script>
let x = 10;
// Here x is 10
{
let x = 2;
// Here x is 2
}
// Here x is 10
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Lesen Sie mehr über let
im Kapitel: JavaScript Let.
Mit dem Schlüsselwort const
können Sie eine Konstante deklarieren (a JavaScript-Variable mit einem konstanten Wert).
Konstanten ähneln Let-Variablen, außer dass der Wert nicht geändert werden kann.
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Declaring a Variable Using const</h2>
<p id="demo"></p>
<script>
var x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Lesen Sie mehr über const
im Kapitel: JavaScript Const.
Pfeilfunktionen ermöglichen eine kurze Syntax zum Schreiben von Funktionsausdrücken.
Sie benötigen nicht das Schlüsselwort function
, das Schlüsselwort return
und das geschweifte Klammern.
// ES5
var x = function(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arrow Functions</h2>
<p>With arrow functions, you don't have to type the function keyword, the return keyword, and the curly brackets.</p>
<p>Arrow functions are not supported in IE11 or earlier.</p>
<p id="demo"></p>
<script>
const x = (x, y) => x * y;
document.getElementById("demo").innerHTML = x(5, 5);
</script>
</body>
</html>
Pfeilfunktionen haben keinen eigenen dies
. Sie eignen sich nicht gut zum Definieren von Objektmethoden.
Pfeilfunktionen sind nicht aktiviert. Sie müssen vor ihrer Verwendung definiert werden.
Verwenden von const
ist sicherer als die Verwendung von var
, da dies bei einem Funktionsausdruck der Fall ist immer ein konstanter Wert.
Sie können das Schlüsselwort return
und die geschweiften Klammern nur weglassen, wenn es sich bei der Funktion um eine einzelne Anweisung handelt. Aus diesem Grund könnte es eine gute Angewohnheit sein, sie immer zu behalten:
const x = (x, y) => { return x * y };
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arrow Functions</h2>
<p>Arrow functions are not supported in IE11 or earlier.</p>
<p id="demo"></p>
<script>
const x = (x, y) => { return x * y };
document.getElementById("demo").innerHTML = x(5, 5);
</script>
</body>
</html>
Erfahren Sie mehr über Pfeilfunktionen im Kapitel: JavaScript-Pfeilfunktion.
Der ...-Operator erweitert ein Iterable (wie ein Array) in weitere Elemente:
const q1 = ["Jan", "Feb", "Mar"];
const q2 = ["Apr", "May", "Jun"];
const q3 = ["Jul", "Aug", "Sep"];
const q4 = ["Oct", "Nov", "May"];
const year = [...q1, ...q2, ...q3, ...q4];
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Operators</h1>
<h2>The ... Operator</h2>
<p>The "spread" operator spreads elements of iterable objects:</p>
<p id="demo"></p>
<script>
const q1 = ["Jan", "Feb", "Mar"];
const q2 = ["Apr", "May", "Jun"];
const q3 = ["Jul", "Aug", "Sep"];
const q4 = ["Oct", "Nov", "May"];
const year = [...q1, ...q2, ...q3, ...q4];
document.getElementById("demo").innerHTML = year;
</script>
</body>
</html>
Der ...-Operator kann verwendet werden, um eine Iterable in weitere Argumente für Funktionsaufrufe zu erweitern:
const numbers = [23,55,21,87,56];
let maxValue = Math.max(...numbers);
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Operators</h1>
<h2>The ... Operator</h2>
<p>The "Spread" operator can be used to expand an iterable into more arguments for function calls:</p>
<p id="demo"></p>
<script>
const numbers = [23,55,21,87,56];
let maxValue = Math.max(...numbers);
document.getElementById("demo").innerHTML = maxValue;
</script>
</body>
</html>
Die JavaScript-Anweisung for/of
führt eine Schleife aus durch die Werte eines iterierbaren Objekts.
Mit for/of
können Sie Datenstrukturen durchlaufen die iterierbar sind, wie Arrays, Strings, Maps, NodeLists und mehr.
Die for/of
-Schleife hat die folgende Syntax:
for (variable of iterable) {
// code block to be executed
}
Variable - Für jede Iteration ist der Wert der nächsten Eigenschaft der Variablen zugewiesen. Variable kann mit deklariert werden const
, let
oder var
.
iterable - Ein Objekt mit iterierbaren Eigenschaften.
const cars = ["BMW", "Volvo", "Mini"];
let text = "";
for (let x of cars) {
text += x + " ";
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript For Of Loop</h2>
<p>The for of statement loops through the values of any iterable object:</p>
<p id="demo"></p>
<script>
const cars = ["BMW", "Volvo", "Mini"];
let text = "";
for (let x of cars) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
let language = "JavaScript";
let text = "";
for (let x of language) {
text += x + " ";
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript For Of Loop</h2>
<p>The for of statement loops through the values of an iterable object.</p>
<p id="demo"></p>
<script>
let language = "JavaScript";
let text = "";
for (let x of language) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Erfahren Sie mehr im Kapitel: JavaScript-Schleife For/In/Of.
Die Möglichkeit, ein Objekt als Schlüssel zu verwenden, ist eine wichtige Kartenfunktion.
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Map Objects</h2>
<p>Creating a Map from an Array:</p>
<p id="demo"></p>
<script>
// Create a Map
const fruits = new Map([
["apples", 500],
["bananas", 300],
["oranges", 200]
]);
document.getElementById("demo").innerHTML = fruits.get("apples");
</script>
</body>
</html>
Erfahren Sie mehr über Map-Objekte und den Unterschied zwischen einer Map und einem Array im Kapitel: JavaScript-Maps.
// Create a Set
const letters = new Set();
// Add some values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Sets</h2>
<p>Add values to a Set:</p>
<p id="demo"></p>
<script>
// Create a Set
const letters = new Set();
// Add Values to the Set
letters.add("a");
letters.add("b");
letters.add("c");
// Display set.size
document.getElementById("demo").innerHTML = letters.size;
</script>
</body>
</html>
Erfahren Sie mehr über Set-Objekte im Kapitel: JavaScript-Sets.
JavaScript-Klassen sind Vorlagen für JavaScript-Objekte.
Verwenden Sie das Schlüsselwort class
, um eine Klasse zu erstellen.
Fügen Sie immer eine Methode mit dem Namen constructor()
hinzu:
class ClassName {
constructor() { ... }
}
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
Das obige Beispiel erstellt eine Klasse mit dem Namen „Car“.
Die Klasse verfügt über zwei Anfangseigenschaften: „name“ und „year“.
Eine JavaScript-Klasse ist kein ein Objekt.
Es ist eine Vorlage für JavaScript-Objekte.
Wenn Sie eine Klasse haben, können Sie diese zum Erstellen von Objekten verwenden:
const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Classes</h1>
<p>Creating two car objects from a car class:</p>
<p id="demo"></p>
<script>
class Car {
constructor(name, year) {
this.name = name;
this.year = year;
}
}
const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);
document.getElementById("demo").innerHTML =
myCar1.name + " " + myCar2.name;
</script>
</body>
</html>
Erfahren Sie mehr über Klassen im Kapitel: JavaScript-Klassen.
Ein Promise ist ein JavaScript-Objekt, das „Code produzieren“ und „Code konsumieren“ verknüpft.
„Code produzieren“ kann einige Zeit dauern und „Code konsumieren“ muss auf das Ergebnis warten.
const myPromise = new Promise(function(myResolve, myReject) {
// "Producing Code" (May take some time)
myResolve(); // when successful
myReject(); // when error
});
// "Consuming Code" (Must wait for a fulfilled Promise).
myPromise.then(
function(value) { /* code if successful */ },
function(error) { /* code if some error */ }
);
const myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function() { myResolve("I love You !!"); }, 3000);
});
myPromise.then(function(value) {
document.getElementById("demo").innerHTML = value;
});
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Promise</h2>
<p>Wait 3 seconds (3000 milliseconds) for this page to change.</p>
<h1 id="demo"></h1>
<script>
const myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function(){ myResolve("I love You !!"); }, 3000);
});
myPromise.then(function(value) {
document.getElementById("demo").innerHTML = value;
});
</script>
</body>
</html>
Erfahren Sie mehr über Promises im Kapitel: JavaScript-Promises.
Ein JavaScript-Symbol ist ein primitiver Datentyp, genau wie Number, String oder Boolean.
Es stellt eine eindeutige „versteckte“ Kennung dar, auf die kein anderer Code versehentlich zugreifen kann.
Wenn beispielsweise verschiedene Programmierer eine person.id-Eigenschaft zu einem Personenobjekt hinzufügen möchten, das zu einem Code eines Drittanbieters gehört, Sie könnten die Werte des anderen vermischen.
Die Verwendung von Symbol() zum Erstellen eindeutiger Bezeichner löst dieses Problem:
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
let id = Symbol('id');
person[id] = 140353;
// Now person[id] = 140353
// but person.id is still undefined
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Using JavaScript Symbol()</h2>
<p id="demo"></p>
<script>
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
let id = Symbol('id');
person[id] = 140353;
document.getElementById("demo").innerHTML = person[id] + " " + person.id;
</script>
</body>
</html>
Symbole sind immer einzigartig.
Wenn Sie zwei Symbole mit derselben Beschreibung erstellen, haben diese unterschiedliche Werte:
Symbol("id") == Symbol("id"); // false
ES6 ermöglicht, dass Funktionsparameter Standardwerte haben.
function myFunction(x, y = 10) { // y is 10 if not passed or undefined return x + y;
}
myFunction(5); // will return 15
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Functions</h1>
<h2>Default Parameter Values</h2>
<p>If y is not passed or undefined, then y = 10:</p>
<p id="demo"></p>
<script>
function myFunction(x, y = 10) {
return x + y;
}
document.getElementById("demo").innerHTML = myFunction(5);
</script>
</body>
</html>
Der rest-Parameter (...) ermöglicht einer Funktion, eine unbegrenzte Anzahl von Argumenten als Array zu behandeln:
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Functions</h1>
<h2>The Rest Parameter</h2>
<p>The rest parameter (...) allows a function to treat an indefinite number of arguments as an array:</p>
<p id="demo"></p>
<script>
function sum(...args) {
let sum = 0;
for (let arg of args) sum += arg;
return sum;
}
let x = sum(4, 9, 16, 25, 29, 100, 66, 77);
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
Die Methode includes()
gibt true
zurück, wenn eine Zeichenfolge einen angegebenen Wert enthält. andernfalls false
:
let text = "Hello world, welcome to the universe.";
text.includes("world") // Returns true
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>The includes() Method</h2>
<p>Check if a string includes "world":</p>
<p id="demo"></p>
<p>The includes() method is not supported in Internet Explorer.</p>
<script>
let text = "Hello world, welcome to the universe.";
document.getElementById("demo").innerHTML = text.includes("world");
</script>
</body>
</html>
Die Methode startsWith()
gibt true
zurück wenn eine Zeichenfolge mit einem angegebenen Wert beginnt, andernfalls false
:
let text = "Hello world, welcome to the universe.";
text.startsWith("Hello") // Returns true
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Strings</h1>
<h2>The startsWith() Method</h2>
<p>Check if a string starts with "Hello":</p>
<p id="demo"></p>
<p>The startsWith() method is not supported in Internet Explorer.</p>
<script>
let text = "Hello world, welcome to the universe.";
document.getElementById("demo").innerHTML = text.startsWith("Hello");
</script>
</body>
</html>
Die Methode endsWith()
gibt true
zurück wenn eine Zeichenfolge mit einem angegebenen Wert endet, andernfalls false
:
var text = "John Doe";
text.endsWith("Doe") // Returns true
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Strings</h2>
<p>Check if a string ends with "Doe":</p>
<p id="demo"></p>
<p>The endsWith() method is not supported in Internet Explorer.</p>
<script>
let text = "John Doe";
document.getElementById("demo").innerHTML = text.endsWith("Doe");
</script>
</body>
</html>
Die Methode Array.from()
gibt ein Array-Objekt von jedem Objekt mit einer Länge zurück Eigenschaft oder ein beliebiges iterierbares Objekt.
Erstellen Sie ein Array aus einem String:
Array.from("ABCDEFG") // Returns [A,B,C,D,E,F,G]
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The from() Method</h2>
<p>Return an array object from any object with a length property or any iterable object.</p>
<p id="demo"></p>
<script>
const myArr = Array.from("ABCDEFG");
document.getElementById("demo").innerHTML = myArr;
</script>
<p>The Array.from() method is not supported in Internet Explorer.</p>
</body>
</html>
Die Methode keys()
gibt ein Array-Iterator-Objekt mit den Schlüsseln eines Arrays zurück.
Erstellen Sie ein Array-Iterator-Objekt, das die Schlüssel des Arrays enthält:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();
let text = "";
for (let x of keys) {
text += x + "<br>";
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The keys() Method</h2>
<p>Return an Array Iterator object with the keys of the array:</p>
<p id="demo"></p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const keys = fruits.keys();
let text = "";
for (let x of keys) {
text += x + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
<p>Array.keys() is not supported in Internet Explorer.</p>
</body>
</html>
Die Methode find()
gibt den Wert des ersten Array-Elements zurück, das a übergibt Testfunktion.
In diesem Beispiel wird das erste Element gefunden (gibt den Wert von zurück), das größer ist als 18:
const numbers = [4, 9, 16, 25, 29];
let first =
numbers.find(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The find() Method</h2>
<p id="demo"></p>
<script>
const numbers = [4, 9, 16, 25, 29];
let first = numbers.find(myFunction);
document.getElementById("demo").innerHTML = "First number over 18 is " + first;
function myFunction(value, index, array) {
return value > 18;
}
</script>
</body>
</html>
Beachten Sie, dass die Funktion drei Argumente benötigt:
Der Artikelwert
Der Artikelindex
Das Array selbst
Die Methode findIndex()
gibt den Index des ersten Array-Elements zurück, das besteht eine Testfunktion.
In diesem Beispiel wird der Index des ersten Elements ermittelt, das größer als 18 ist:
const numbers = [4, 9, 16, 25, 29];
let first =
numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return
value > 18;
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The findIndex() Method</h2>
<p id="demo"></p>
<script>
const numbers = [4, 9, 16, 25, 29];
document.getElementById("demo").innerHTML = "First number over 18 has index " + numbers.findIndex(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
</script>
</body>
</html>
Beachten Sie, dass die Funktion drei Argumente benötigt:
Der Artikelwert
Der Artikelindex
Das Array selbst
ES6 hat dem Math-Objekt die folgenden Methoden hinzugefügt:
Math.trunc()
Math.sign()
Math.cbrt()
Math.log2()
Math.log10()
Math.trunc(x)
gibt den ganzzahligen Teil von x zurück:
Math.trunc(4.9); // returns 4
Math.trunc(4.7); // returns 4
Math.trunc(4.4); // returns 4
Math.trunc(4.2); // returns 4
Math.trunc(-4.2); // returns -4
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Math.trunc()</h2>
<p>Math.trunc(x) returns the integer part of x:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Math.trunc(4.7);
</script>
</body>
</html>
Math.sign(x)
gibt zurück, wenn x negativ, null oder positiv ist:
Math.sign(-4); // returns -1
Math.sign(0); // returns 0
Math.sign(4); // returns 1
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Math.sign()</h2>
<p>Math.sign(x) returns if x is negative, null or positive:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Math.sign(4);
</script>
</body>
</html>
Math.cbrt(x)
gibt die Kubikwurzel von x zurück:
Math.cbrt(8); // returns 2
Math.cbrt(64); // returns 4
Math.cbrt(125); // returns 5
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Math.cbrt()</h2>
<p>Math.cbrt(x) returns the cube root of x:</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Math.cbrt(8);
</script>
</body>
</html>
Math.log2(x)
gibt den Logarithmus zur Basis 2 von x zurück:
Math.log2(2); // returns 1
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Math.log2()</h2>
<p>Math.log2() returns the base 2 logarithm of a number.</p>
<p>How many times must we multiply 2 to get 8?</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Math.log2(8);
</script>
</body>
</html>
Math.log10(x)
gibt den Logarithmus zur Basis 10 von x zurück:
Math.log10(10); // returns 1
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Math.log10()</h2>
<p>Math.log10() returns the base 10 logarithm of a number.</p>
<p>How many times must we multiply 10 to get 1000?</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = Math.log10(1000);
</script>
</body>
</html>
ES6 hat dem Number-Objekt die folgenden Eigenschaften hinzugefügt:
EPSILON
MIN_SAFE_INTEGER
MAX_SAFE_INTEGER
let x = Number.EPSILON;
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Number Object Properties</h2>
<p>EPSILON</p>
<p id="demo"></p>
<script>
let x = Number.EPSILON;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
let x = Number.MIN_SAFE_INTEGER;
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Number Object Properties</h2>
<p>MIN_SAFE_INTEGER</p>
<p id="demo"></p>
<script>
let x = Number.MIN_SAFE_INTEGER;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
let x = Number.MAX_SAFE_INTEGER;
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h2>Number Object Properties</h2>
<p>MAX_SAFE_INTEGER</p>
<p id="demo"></p>
<script>
let x = Number.MAX_SAFE_INTEGER;
document.getElementById("demo").innerHTML = x;
</script>
</body>
</html>
ES6 hat dem Number-Objekt zwei neue Methoden hinzugefügt:
Number.isInteger()
Number.isSafeInteger()
Die Methode Number.isInteger()
gibt true
zurück, wenn das Argument eine Ganzzahl ist.
Number.isInteger(10); // returns true
Number.isInteger(10.5); // returns false
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<h2>The isInteger() Method</h2>
<p>The isInteger() method returns true if the argument is an integer.</p>
<p>Otherwise it returns false.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
Number.isInteger(10) + "<br>" + Number.isInteger(10.5);
</script>
</body>
</html>
Eine sichere Ganzzahl ist eine Ganzzahl, die genau als Zahl mit doppelter Genauigkeit dargestellt werden kann.
Die Methode Number.isSafeInteger()
gibt true
zurück, wenn das Argument eine sichere Ganzzahl ist.
Number.isSafeInteger(10); // returns true
Number.isSafeInteger(12345678901234567890); // returns false
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<h2>The isSafeInteger() Method</h2>
<p>The isSafeInteger() method returns true if the argument is a safe integer.</p>
<p>Otherwise it returns false.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
Number.isSafeInteger(10) + "<br>" + Number.isSafeInteger(12345678901234567890);
</script>
</body>
</html>
Sichere Ganzzahlen sind alle Ganzzahlen von -(253 - 1) bis +(253 - 1).
Dies ist sicher: 9007199254740991. Dies ist nicht sicher: 9007199254740992.
ES6 hat zwei neue globale Zahlenmethoden hinzugefügt:
isFinite()
isNaN()
Die globale Methode isFinite()
gibt false
zurück, wenn das Argument ist Unendlich
oder NaN
.
Andernfalls wird true
zurückgegeben:
isFinite(10/0); // returns false
isFinite(10/1); // returns true
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<h2>The isFinite() Method</h2>
<p>The isFinite() method returns false if the argument is Infinity or NaN.</p>
<p>Otherwise it returns true.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
isFinite(10 / 0) + "<br>" + isFinite(10 / 1);
</script>
</body>
</html>
Die globale Methode isNaN()
gibt true
zurück, wenn das Argument ist NaN
. Andernfalls wird false
zurückgegeben:
isNaN("Hello"); // returns true
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Numbers</h1>
<h2>The isNaN() Method</h2>
<p>The isNan() method returns true if the argument is NaN. Otherwise it returns false.</p>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
isNaN("Hello") + "<br>" + isNaN("10");
</script>
</body>
</html>
Erstellen Sie einen Array-Iterator und iterieren Sie dann über die Schlüssel/Wert-Paare:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const f = fruits.entries();
for (let x of f) {
document.getElementById("demo").innerHTML += x;
}
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Arrays</h1>
<h2>The entries() method</h2>
<p>entries() returns an Array Iterator object with key/value pairs:</p>
<p id="demo"></p>
<script>
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const f = fruits.entries();
for (let x of f) {
document.getElementById("demo").innerHTML += x + "<br>";
}
</script>
<p>The entries() method is not supported in Internet Explorer 11 (or earlier).</p>
</body>
</html>
Die Methode entries()
gibt ein Array-Iterator-Objekt mit Schlüssel/Wert-Paaren zurück:
[0, „Banane“]
[1, „Orange“]
[2, „Apfel“]
[3, „Mango“]
Die Methode entries()
ändert das ursprüngliche Array nicht.
Module werden auf zwei verschiedene Arten importiert:
Benannte Exporte aus der Datei person.js importieren:
import { name, age } from "./person.js";
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Modules</h1>
<p id="demo"></p>
<script type="module">
import { name, age } from "./person.js";
let text = "My name is " + name + ", I am " + age + ".";
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
Importieren Sie einen Standardexport aus der Datei message.js:
import message from "./message.js";
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Modules</h1>
<p id="demo"></p>
<script type="module">
import message from "./message.js";
document.getElementById("demo").innerHTML = message();
</script>
</body>
</html>
Erfahren Sie mehr über Module unter: JavaScript-Module.