Hlavní navigace

ECMAScript 4 přichází

24. 4. 2008 13:19 (aktualizováno) Martin Hassman

Skupina TG1 u ECMA připravuje novou verzi skriptovacího jazyka ECMAScript4, který se má stát základem JavaScriptu2, tedy nové generace skriptovacího jazyka webu.

O práci na ECMAScript4 (ES4) jsem poprvé zaslechl na jaře loňského roku, ale tématu jsem se dlouho vyhýbal. Byl to právě David, kdo mne přiměl se na ES4 podívat detailněji.

Tento příspěvek budiž úvodním rozcestníkem pro ty, kdo jsou na tom stejně a chtěli by se o ES4 něco málo dozvědět. Hlubší úvahy zde prosím nečekejte, ty musíte vytáhnout přímo z Davida (naštěstí David naznačil, že se o ně chystá podělit).

Změny větší než malé

ES4 není jen drobnou evolucí, ale opravdu velkou změnou. Než se na něj podíváte, doporučuji si uvařit kafe, posadit se a raději se něčeho ještě pořádně chytnout. Dejte na mě!

Ono když si představíte, že JavaScript, který jsme na webu znali, rozšíříme o klasické třídy s klasickou dědičností (připomínám, že stávající JavaScript má objekty s prototypovou dědičností), zavedeme typové proměnné (už žádné ověřování, zda jsme obdrželi opravdu string nebo array, vše ohlídá interpret), konstanty, gettery a settery, jmenné prostory a… STOP. Je toho víc, ale tohle zatím stačí.

A teď to hlavní: Při tom všem chcete udržet zpětnou kompatibilitu s původními verzemi jazyka!

Asi jste pochopili jako já, že se jedná o opravdu těžký úkol, ze kterého může vzejít buď geniální dílo nebo velký průšvih.

O to větší motivace se ES4 podívat na zoubek. Pro rychlý úvod do problematiky (takový skok do ES4 po hlavě z výše pěti metrů) si prohlédněte prezentaci Johna Resiga (ano toho Johna, jehož kniha o JavaScriptu právě vyšla v češtině) nazvanou Tamarin a ECMAScript4.

A pokud vám to nebude stačit, podívejte se na Playing with ECMAScript 4, kde se dozvíte, jak zprovoznit testovací implementaci ES4, ve které si můžete většinu věcí vyzkoušet.

Návrh jazyka

Pokud vám ani to nestačí, můžete se začíst do čtyřicetistránkového návrhu ES4, který společně připravili Mozilla Foundation, Opera Software a Adobe.

Vy, kdo nevěříte, že to s tou zpětnou kompatibilitou je stoprocentně dokonalé, máte pravdu a můžete si v dokumentu Incompatibilities Between ES3 and Proposed ES4 přečíst o všech deseti nekompatibilitách, které stávající návrh specifikace obsahuje, a které by údajně neměl běžný kodér JavaScriptu zaznamenat, ale je dobré o nich vědět.

Další odkazy (aktualizováno)

Přidávat nové názory je zakázáno.