Javascript-Zukunft: ECMA Script 5 verabschiedet

IBM und Intel stimmen gegen ES5

ECMAScript Fifth Edition alias ES5 wurde Ende letzter Woche offiziell verabschiedet, gegen die Stimmen von IBM und Intel. Der neue Javascript-Standard führt neue APIs ein, soll robustere Programme ermöglichen und Entwicklern von Javascript-Bibliotheken neue Möglichkeiten an die Hand geben.

Anzeige

ES5 folgt auf ECMA Script 3 und wurde zunächst unter dem Namen ECMA Script 3.1 entwickelt und später in ECMAScript Fifth Edition umbenannt. ECMA Script 4 wurde übersprungen, denn die Arbeiten an ES4 wurden nach einigem Streit eingestellt und Ideen aus ES4 in ES5 integriert.

Einige der Unstimmigkeiten tauchten auch bei der Abstimmung zu ES5 wieder auf. So stimmte IBM gegen die Spezifikation, da IBM sich Änderungen an der Dezimal-Arithmetik von ECMA Script wünscht, die in ES5 nicht entsprechend adressiert wurden. Aufgrund von Umrechnungen zwischen Binär- und Dezimalsystem ergibt die Addition von 0,1 und 0,2 in Javascript nicht 0,3, wie man erwarten würde. Die Hintergründe erläutert der Eintrag Kann mein Browser nicht korrekt rechnen? der FAQ von de.comp.lang.javascript. Allerdings ist dies kein Problem von Javascript allein sondern liegt im Standard IEEE 754 begründet.

Neben IBM stimmte auch Intel gegen ES5. Man habe nicht genug Zeit gehabt, die Implikationen bezüglich geistigen Eigentums der Spezifikation zu untersuchen. Letztendlich aber wurde ES5 mit 19 gegen zwei Stimmen verabschiedet und zugleich beschlossen, den neuen Standard im Fast-Track-Verfahren bei der ISO einzureichen.

 
Video: Google Tech Talk von Mark Miller, Waldemar Horwat und Mike Samuel zu den Neuerungen in ECMA Script Fifth Edition

Für Entwickler bringt ES5 einige Neuerungen: Die Eigenschaften eines Objektes sind nun nicht mehr nur einfache Schlüssel-Wert-Paare, sondern jedes besitzt Attribute, die den jeweiligen Zugriff auf die Eigenschaft regeln - inklusive der Möglichkeit, implizite Get- und Set-Methoden zu definieren. Mit Object.defineProperty() können die Eigenschaften eines Objektes und die jeweiligen Attribute auch dynamisch zur Laufzeit definiert werden.

Daran schließt sich die Möglichkeit an, Objekte zu fixieren. Mit Object.preventExtension() ist es nicht mehr möglich, ein Objekt um weitere Methoden und Eigenschaften zu ergänzen. Mit Object.freeze() kann ein Objekt gegen Änderungen der Eigenschaften seiner Attribute gesperrt werden. So kann beispielsweise verhindert werden, dass der Typ von Objektattributen durch Zuweisung eines Strings verändert wird, weil sich Objektfunktionen darauf verlassen, dass hier Zahlenwerte vorliegen.

Angenehm für die Arbeit mit Arrays ist die Ergänzung von Methoden wie forEach(), map() und filter(), wie sie in anderen Programmiersprachen bereits seit langem bereitstehen. Mit Object.keys() kann die Bezeichnung der Methoden und Eigenschaften eines Objektes ermittelt werden.

Eine wesentliche Neuerung stellt der Strict-Modus dar, der für beliebige Codeteile ein- und ausgeschaltet werden kann. Wird er mit "use strict" aktiviert, soll der Code nur dann ohne Fehlermeldung ausgeführt werden, wenn die Interpretation des Codes eindeutig ist. Das betrifft insbesondere die Verwendung von Semikola zum Abschluss eines Befehls, das in einigen Fällen bislang optional ist, aber auch die Zuweisung von Werten zu Objekteigenschaften, ohne dass sie vorher deklariert wurden. Dies soll Code in gewissen Grenzen sicherer und die Ausführung ein wenig schneller machen. Der Ansatz soll verhindern, dass es zu Inkompatibilitäten mit bestehendem Code und ES5 kommt.

Da alle großen Browserhersteller innerhalb des zuständigen ECMA-Gremiums an der neuen Sprachspezifikation mitgearbeitet haben, sind bereits viele Elemente in aktuellen Javascript-Engines der Browser implementiert, insbesondere das neue JSON-Objekt. Mozilla dokumentiert die Integration unter developer.mozilla.org. Auch andere Browserhersteller sind schon recht weit in der Adaption von ES5. Selbst Microsoft hat auf dem Arbeitstreffen des Standardisierungsgremiums eine fast vollständige Implementierung von ES5 im Internet Explorer gezeigt.

Die Spezifikation von ECMA Script Fifth Edition steht als ECMA-Standard 262 ab sofort zum Download bereit.


GodsBoss 18. Mär 2011

Einfacher für wen? Denjenigen, der darin programmieren soll? Doch wohl nicht! Am...

PHPeter 07. Dez 2009

Neben den HTML5 Möglichkeiten, JSON-Daten lokal persistent zu speichern (so ziemlich alle...

foo 06. Dez 2009

http://www.golem.de/0912/IEEE 754 Tja, das sehe ich auch so! :) foo

ChilliConCarne 06. Dez 2009

- IBM und Intel waren dagegen - Fast Track Verfahren bei der ISO Das kommt einem doch...

Kommentieren



Anzeige

  1. IT-Mitarbeiter / innen Technische Servicestationen
    Landeshauptstadt München, München
  2. SAP-FI/CO-Inhouse-Berater (m/w)
    Zott SE & Co. KG, Mertingen Raum Augsburg
  3. Senior SAP Analyst Production & Logistics (m/w)
    GENTHERM GmbH, Odelzhausen
  4. IT-Anwendungs­betreuer / -Anwendungs­entwickler (m/w) HR-Informationssysteme
    DR. JOHANNES HEIDENHAIN GmbH, Traunreut

 

Detailsuche


Hardware-Angebote
  1. NUR HEUTE: ZOWIE N-RF2 Thin Soft Surface Mousepad
    mit Gutscheincode pcghsonntag für 7,90€ (Preis wird im letzten Bestellschritt angezeigt)
  2. Canon Cashback-Aktion (bitte auf die Cashback-Preise klicken!)
    bis zu 200,00€ zurück erhalten
  3. TIPP: Alternate Schnäppchen Outlet
    (täglich neue Deals)

 

Weitere Angebote


Folgen Sie uns
       


  1. Licht

    Indoor-Navigationssystem führt zu Sonderangeboten im Supermarkt

  2. Handmade

    Amazon bereitet Marktplatz für Handgefertigtes vor

  3. BND-Skandal

    EU-Kommissar Oettinger testet Kryptohandy

  4. BND-Affäre

    Keine Frage der Ehre

  5. Sensor ausgetrickst

    So klaut man eine Apple Watch

  6. CD Projekt Red

    The Witcher 3 hat Speicherproblem auf Xbox One

  7. Microsoft

    OneClip soll eine Cloud-Zwischenablage werden

  8. VR-Headset

    Klage gegen Oculus-Rift-Erfinder Palmer Luckey

  9. Salesforce

    55 Milliarden US-Dollar von Microsoft waren zu wenig

  10. Freedom Act

    US-Senat lehnt Gesetz zur NSA-Reform ab



Haben wir etwas übersehen?

E-Mail an news@golem.de



FBI-Untersuchung: Hacker soll Zugriff auf Flugzeugtriebwerke gehabt haben
FBI-Untersuchung
Hacker soll Zugriff auf Flugzeugtriebwerke gehabt haben
  1. Identitätsdiebstahl Gesetz zu Datenhehlerei könnte Leaking-Plattformen gefährden
  2. NetUSB Schwachstelle gefährdet zahlreiche Routermodelle
  3. MSpy Daten von Überwachungssoftware veröffentlicht

Windows 10 IoT Core angetestet: Windows auf dem Raspberry Pi 2
Windows 10 IoT Core angetestet
Windows auf dem Raspberry Pi 2
  1. Kleinstrechner Preise für das Raspberry Pi B+ gesenkt
  2. Artik Samsung stellt Bastelcomputer-Serie vor
  3. Hummingboard angetestet Heiß und anschlussfreudig

Yubikey: Nie mehr schlechte Passwörter
Yubikey
Nie mehr schlechte Passwörter
  1. Torrent-Tracker Eztv-Macher geben wegen feindlicher Übernahme auf
  2. Arrows NX F-04G Neues Fujitsu-Smartphone scannt die Iris
  3. Unsicheres Plugin Googles Passwort-Warnung lässt sich leicht aushebeln

  1. Re: Besatzungsrecht

    Sharra | 19:19

  2. Re: Dann lieber Rolex

    elsadso | 19:19

  3. Eine. Com blase mehr oder weniger...

    Unix_Linux | 19:09

  4. Re: Ich würde Aktien kaufen

    Unix_Linux | 19:03

  5. Re: Optimale Wegstrecke zum Einsammeln der Produkte

    Prinzeumel | 18:57


  1. 14:05

  2. 12:45

  3. 10:53

  4. 09:00

  5. 15:05

  6. 14:35

  7. 14:14

  8. 13:52


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel