Der Internet Explorer 9 aus Entwicklersicht (Teil 3)
Kommentare

ECMAScript 5 (ES5)
Wie auch schon in der Version 8, gibt es im IE9 einige Verbesserungen und Neuerungen im JavaScript-Umfeld. Die Leistung der JavaScript-Ausführung wurde überarbeitet und es wurden

ECMAScript 5 (ES5)

Wie auch schon in der Version 8, gibt es im IE9 einige Verbesserungen und Neuerungen im JavaScript-Umfeld. Die Leistung der JavaScript-Ausführung wurde überarbeitet und es wurden einige Funktionen gemäß dem verabschiedeten ECMAScript-5-Standard umgesetzt. So sind u. a. neue Funktionen in den folgenden Bereichen zu finden:

  • Verarbeitung von Arrays
  • Erweitertes Objektmodell
  • Zahlreiche Verarbeitungsmethoden und -funktionen

Der Umgang mit Arrays gestaltete sich in JavaScript immer etwas umständlich, da eine einfache Iteration mittels foreach-Konstrukt zwar möglich war, aber nicht immer zu dem gewünschten Ergebnis führte (Listing 2). Das Array wochentage enthält alle Wochentage als Klartext. Mittels Schleife sollen die Wochentage ausgegeben werden. Wird die erste Schleife aus Listing 2 ausgeführt, erscheinen aber lediglich die Indexpositionen des Arrays und nicht der Klartext. Um dieses Problem zu umgehen, musste bisher eine Zählschleife verwendet werden, wie es die zweite Schleife aus Listing 2 zeigt. Der ES5- Standard erleichtert nun die Umsetzung solcher typischen Schleifenkonstrukte durch die Einführung der Methode Array.prototype.forEach. Dieser Methode wird eine Funktion übergeben, die dann für jedes Array-Element aufgerufen wird. Der Funktion werden drei Parameter übergeben:

  • Der aktuelle Werte aus dem Array
  • Die Position innerhalb des Arrays
  • Das gesamte Array

Die Verwendung der neuen Methode bietet folgende Vorteile:

  • Kürzer und daher weniger Quellcode
  • Schleifenlogik und Steuerung muss nicht implementiert werden
  • Leere Array-Elemente werden automatisch übersprungen
  • Die Verwendung einer Funktion als Schleifenkörper verringert die Vermischung von Schleifenvariablen mit anderen (lokalen) Variablen

Am Ende von Listing 2 wird die Verwendung der Methode praktisch demonstriert. Neben der hier vorgestellten forEach()-Methode existieren noch acht weitere Array-Funktionen. Tabelle 2 gibt einen vollständigen Überblick.

Listing 2

var wochentage = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 
                     'Samstag', 'Sonntag'];
function IterateArray() {
  // 1. Schleife
  for(var tag in wochentage)
    alert(tag);
  // 2. Schleife
  for (i=0;i

Array-Funktion

Funktionsweise

indexOf

Gibt den ersten Index eines gesuchten Werts aus einem Array zurück.

lastIndexOf

Gibt den letzten Index eines gesuchten Werts aus einem Array zurück.

forEach

Ruft für jeden Wert aus dem Array eine definierte Funktion aus.

every

Überprüft, ob eine Bedingung für alle Elemente aus dem Array zutrifft.

some

Überprüft, ob mindestens ein Element aus dem Array einer definierten Bedingung entspricht.

map

Wendet auf alle Elemente des Arrays eine Funktion an und gibt die berechneten Werte in einem neuen Array zurück.

filter

Filtert aus einem Array alle Werte, auf die eine definierte Bedingung zutrifft, und gibt ein neues Array zurück.

reduce

Berechnet aus allen Werten des Arrays einen kumulierten Wert.

reduceRight

Wie reduce jedoch beginnt die Berechnung von dem letzten Array-Element.

Tabelle 2: Überblick über neue Array-Funktionen

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -