Einführung in die neuen Funktionen, die ECMAScript 2016 (ES7) zu JavaScript hinzufügt

Seit der Veröffentlichung von ECMAScript 2015 (auch als ES6 bekannt) wurden zahlreiche neue Funktionen eingeführt. Dazu gehören Pfeilfunktionen, Mengen, Karten, Klassen und Destrukturierungen und vieles mehr. In vielerlei Hinsicht ähnelt ES2015 fast dem Erlernen einer neuen Version von JavaScript.

Das Ecma Technical Committee 39 regelt die ECMA-Spezifikation. Sie beschlossen, ab 2015 jedes Jahr eine neue Version von ECMAScript zu veröffentlichen. Ein jährliches Update bedeutet, dass keine großen Versionen wie ES6 mehr verfügbar sind.

ECMAScript 2016 hat nur zwei neue Funktionen eingeführt:

  • Array.prototype.includes ()
  • Potenzierungsoperator

Array.prototype.includes ()

Array.prototype.includes()Überprüft das Array auf das valueübergebene als argument. Es wird zurückgegeben, truewenn das Array das enthält value, andernfalls wird es zurückgegeben false.

Zuvor mussten wir Array.prototype.indexOf()überprüfen, ob das angegebene Array ein Element enthält oder nicht.

let numbers = [1, 2, 3, 4];
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}

Mit ECMA2016 können wir schreiben:

if(numbers.includes(2)) { console.log('Array contains value');}

Array.prototype.includes()Griffe NaNbesser als Array.prototype.indexOf(). Wenn das Array enthält NaN, wird indexOf()bei der Suche kein korrekter Index zurückgegeben NaN.

Array.prototype.includes()Gibt bei der Suche nach dem richtigen Wert zurück NaN.

NaNist eine Eigenschaft des globalen JavaScript-Objekts und stellt einen Wert dar, der keine Zahl ist. Beim Vergleich NaNmit einem anderen Wert sind Macken bekannt . Diese werden in angesprochen Array.prototype.includes(), aber nicht in Array.protoype.indexOf.

let numbers = [1, 2, 3, 4, NaN];
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Potenzierungsoperator

JavaScript unterstützt bereits viele arithmetische Operatoren wie +, -, *und mehr.

ECMAScript 2016 führte den Exponentiationsoperator ein **.

Es hat den gleichen Zweck wie Math.pow(). Es gibt das erste Argument zurück, das zur Potenz des zweiten Arguments erhoben wird.

let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81

Fazit

Die von ECMA2016 eingeführten neuen Funktionen bieten bequeme Alternativen zu vorhandenen Funktionen.

Mit Blick auf die Zukunft wurde ECMA2017 im Juni dieses Jahres fertiggestellt. Neue Features umfassen async/await, SharedArrayBufferund einige nützliche Methoden Object.prototype.