Babylon-News

Bis Mitte August war ĂĽber die Neuerungen von JavaScript 1.3 vom Hersteller nichts zu erfahren. Nun hat er ĂĽber 80 KByte geliefert.

vorlesen Druckansicht
Lesezeit: 4 Min.
Von
  • Stefan Mintert

JavaScript wurde zum ersten Mal im Navigator 2 vor drei Jahren implementiert. Die kürzlich erschienenen Navigator 4.06/4.5 enthalten die vierte Version: JavaScript 1.3. Während sich das Objektmodell (DOM) der beiden großen Browser ständig ändert und eine standardisierte Form gerade erst erschienen ist, sind die Modifikationen der Sprache selbst gering.

Mehr Infos

JavaScript-URLs

Das Wichtigste ist die weitere Annäherung an ECMAScript- ein Standard (mittlerweile auch von der ISO angenommen), der auf JavaScript 1.1 beruht. Während die Sprache ursprünglich mit ISO-Latin-1 als Basiszeichensatz arbeitete, war ECMAScript von vornherein auf Unicode ausgerichtet. Mit Version 1.3 gilt das auch für JavaScript. In Zeichenketten lassen sich Unicode-Zeichen mit Escape-Sequenzen der Form \uXXXX einfügen. Beispielsweise steht \u00A9 für das Copyright-Symbol.

Eine weitere Eigenschaft von ECMAScript - und jetzt JavaScript 1.3 - ist ein Datumsobjekt, das vollkommen unabhängig von einer Plattform oder einem Betriebssystem ist. Neben der Bereinigung von nicht-ECMAScript-konformen Sprachelementen hat Netscape einige Erweiterungen des Standards behalten: Funktionen, die mit JavaScript 1.2 eingeführt wurden und der ECMA (European Computer Manufacturers Association) zur Standardisierung als Version 2.0 vorliegen. Es handelt sich dabei etwa um die von Unix (und Perl) bekannten regulären Ausdrücke sowie um Methoden von Arrays, die Perl-Programmierern ebenfalls vertraut sein sollten: pop, push, shift, unshift, slice, splice.

Mehr Infos

Date ĂĽberarbeitet

Neues Objekt

  • Datum in Bezug auf Universal Time Coordinate (UTC) = Greenwich Mean Time (GMT).
  • Daten werden als Millisekunden seit dem 1. Januar 1970 UTC gemessen.
  • Das Datumobjekt kann Daten innerhalb -100 Millionen Tage bis +100 Millionen Tage darstellen.
  • Alle bekannten Date-Methoden von JavaScript akzeptieren nun Millisekunden als Argument.

Neue Methoden wie getFullYear, setFullYear verhindern Jahr-2000-Probleme, getUTCFullYear, setUTCFullYear tun dies analog in bezug auf UTC. Weitere Methoden ermöglichen das Abfragen/Zuweisen von Millisekunden eines Datums (getMilliseconds, setMilliseconds) oder konvertieren es in eine Zeichenkette (toUTCString). getUTCMonth (Monat), getUTCDate (Tag des Monats), getUTCDay (Wochentag), getUTCHours (Stunden), getUTCMinutes (Minuten), getUTCSeconds (Sekunden), getUTCMilliseconds (Millisekunden) liefern die entsprechenden Werte in Bezug zu UTC; analoge set*-Methoden existieren ebenfalls.

Bei diesem babylonischen Sprachgewirr (Microsofts Variante JScript nicht zu vergessen) ist es natürlich notwendig, angeben zu können, zu welcher Version der Sprache ein Programm konform ist. Dies ist durch die bekannte Verwendung des Language-Attributs möglich. Die neuesten Navigator-Versionen verstehen nun auch

<SCRIPT LANGUAGE="JavaScript1.3"> ... </SCRIPT>

und behandeln den darin enthaltenen Programmcode entsprechend. Wichtig ist dabei, daß sich der Inhalt eines Scriptelements immer so verhält, wie es das Language-Attribut anzeigt, egal welcher Navigator ihn interpretiert (laut Netscape).

Unterschiede bei den Vergleichsoperatoren und automatischer Typkonvertierung fĂĽhren zum Beispiel zu unterschiedlichen Wahrheitswerten.

Wichtiger als die Details der neuen Sprachversion ist wohl die Botschaft, daß JavaScript drei Jahre nach ihrer Entstehung und trotz Standardisierung durch ECMA und ISO eine lebendige Sprache ist. Die Standardisierung durch die ISO ist übrigens noch nicht abgeschlossen, zur Zeit gibt es nur einen DIS (Draft International Standard). Da es sich dabei aber um ECMAScript handelt, kann man hier wohl eher von einem `De-facto International Standard' sprechen. Daß JavaScript eine Zukunft hat, zeigt sich nicht zuletzt in der Tatsache, daß das World Wide Web Consortium ECMAScript als Skripting-Sprache für die Extensible Stylesheet Language (XSL) gewählt hat (auch wenn der derzeitige Entwurf das nicht festgeschrieben hat, dürfte ECMAScript zumindest eine der letztlich unterstützten Sprachen sein).

Für JavaScript-Geschädigte, die die Sprache in ihrem Browser ausgeschaltet haben, um nicht mit einer der (wegen der Inkompatibilitäten) relativ häufigen Fehlermeldungen belästigt zu werden, sei noch ein neues Feature der neuen Netscape-Browser erwähnt. Es gibt - analog zu Java - eine JavaScript-Konsole, die sich ein- oder ausschalten läßt. Alle Fehlermeldungen von JavaScript erscheinen nicht mehr in einem eigenen Fenster, das der Benutzer durch einen Mausklick explizit schließen muß, sondern sie werden in die Konsole geschrieben, unabhängig davon, ob diese sichtbar ist oder nicht.

STEFAN MINTERT
arbeitet am Fachbereich Informatik der Universität Dortmund und ist Autor des bei Addison-Wesley erschienenen Buchs "JavaScript 1.2".
(hb)