Výukový program JS

JS HOME Úvod do JS JS Kam vést Výstup JS JS prohlášení Syntaxe JS Komentáře JS JS proměnné JS Let JS Const Operátoři JS JS aritmetika Zadání JS JS datové typy Funkce JS JS objekty Události JS JS struny JS String Methods JS String Search Šablony řetězců JS JS čísla Metody čísel JS JS Arrays Metody JS Array JS Array Sort Iterace pole JS JS Array Const JS Termíny Formáty data JS JS metody získávání data JS metody nastavení data JS Math JS Náhodný JS Booleans JS Srovnání Podmínky JS Přepínač JS JS Loop For JS Loop For In JS Loop For Of Zatímco JS Loop JS Break JS Iterables Sady JS Mapy JS Typ JS Konverze typu JS JS Bitwise JS RegExp Chyby JS Rozsah JS JS Zvedací zařízení Přísný režim JS JS toto klíčové slovo Funkce šipky JS JS třídy JS JSON Ladění JS Průvodce stylem JS JS Best Practices Chyby JS Výkon JS JS Reserved Words

Verze JS

Verze JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge Historie JS

JS objekty

Definice objektů Vlastnosti objektu Objektové metody Zobrazení objektu Objektové přístupové objekty Konstruktory objektů Prototypy objektů Iterovatelné objekty Sady objektů Mapy objektů Reference objektu

Funkce JS

Definice funkcí Funkční parametry Vyvolání funkce Volání funkce Funkce Použít Funkční uzávěry

JS třídy

Úvod do třídy Třídní dědičnost Třída Statická

JS Async

JS zpětná volání JS asynchronní JS Sliby JS Async/Await

JS HTML DOM

Úvod do DOM Metody DOM Dokument DOM Prvky DOM DOM HTML Formuláře DOM DOM CSS DOM animace Události DOM DOM Event Listener Navigace DOM DOM uzly Kolekce DOM Seznamy uzlů DOM

Kusovník prohlížeče JS

Okno JS Obrazovka JS Umístění JS Historie JS JS Navigator Popup Alert JS Časování JS Soubory cookie JS

Webová rozhraní API JS

Úvod do webového rozhraní API Web Forms API Webová historie API Web Storage API Web Worker API Web Fetch API Web Geolocation API

JS AJAX

Úvod do AJAXu AJAX XMLHttp Požadavek AJAX Odpověď AJAX Soubor XML AJAX AJAX PHP AJAX ASP Databáze AJAX Aplikace AJAX Příklady AJAX

JS JSON

Úvod do JSON Syntaxe JSON JSON vs XML Datové typy JSON Analýza JSON JSON Stringify Objekty JSON Pole JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Selektory jQuery HTML jQuery jQuery CSS jQuery DOM

Grafika JS

Grafika JS JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

Příklady JS

Příklady JS JS HTML DOM Vstup HTML JS JS HTML objekty JS HTML události Prohlížeč JS Editor JS Cvičení JS JS kvíz Certifikát JS

JS Reference

Objekty JavaScriptu HTML DOM objekty


Historie JavaScriptu


JavaScript / ECMAScript

JavaScript vynalezl Brendan Eich v roce 1995.

Byl vyvinut pro Netscape 2 a v roce 1997 se stal standardem ECMA-262 .

Poté, co Netscape předal JavaScript ECMA, nadace Mozilla pokračovala ve vývoji JavaScriptu pro prohlížeč Firefox. Nejnovější verze Mozilly byla 1.8.5. (Identické s ES5).

Internet Explorer (IE4) byl prvním prohlížečem, který podporoval ECMA-262 Edition 1 (ES1).

Rok ECMAProhlížeč
1995   JavaScript vynalezl Brendan Eich
1996   Netscape 2 byl vydán s JavaScriptem 1.0
1997   JavaScript se stal standardem ECMA (ECMA-262)
1997 ES1 ECMAScript 1 byl vydán
1997 ES1 IE 4 byl první prohlížeč, který podporoval ES1
1998 ES2 ECMAScript 2 byl vydán
1998   Netscape 42 byl vydán s JavaScriptem 1.3
1999 ES2 IE 5 byl první prohlížeč, který podporoval ES2
1999 ES3 ECMAScript 3 byl vydán
2000 ES3 IE 5.5 byl první prohlížeč, který podporoval ES3
2000   Netscape 62 byl vydán s JavaScriptem 1.5
2000   Firefox 1 byl vydán s JavaScriptem 1.5
2008 ES4 ECMAScript 4 byl opuštěn
2009 ES5 ECMAScript 5 byl vydán
2011 ES5 IE 9 byl první prohlížeč, který podporoval ES5 *
2011 ES5 Firefox 4 byl vydán s JavaScriptem 1.8.5
2012 ES5 Plná podpora pro ES5 v Safari 6
2012 ES5 Plná podpora pro ES5 v IE 10
2012 ES5 Plná podpora ES5 v Chrome 23
2013 ES5 Plná podpora pro ES5 ve Firefoxu 21
2013 ES5 Plná podpora pro ES5 v Opeře 15
2014 ES5 Plná podpora pro ES5 ve všech prohlížečích
2015 ES6 ECMAScript 6 byl vydán
2016 ES6 Plná podpora pro ES6 v Chrome 51
2016 ES6 Plná podpora pro ES6 v Opeře 38
2016 ES6 Plná podpora pro ES6 v Edge 14
2016 ES6 Plná podpora pro ES6 v Safari 10
2015 ES6 Plná podpora pro ES6 ve Firefoxu 52
2018 ES6 Plná podpora pro ES6 ve všech prohlížečích **

Poznámka

* Internet Explorer 9 nepodporoval ES5 "použít přísné".

** Internet Explorer 11 nepodporuje ES6.


Technický výbor ECMA 39

V roce 1996 vzali Netscape a Brendan Eich JavaScript do mezinárodní normalizační organizace ECMA a byla vytvořena technická komise (TC39) pro vývoj jazyka.

ECMA-262 Edition 1 byla vydána v červnu 1997.


Od ES4 po ES6

Když se v roce 2008 sešel výbor TC39 v Oslu, aby se shodli na ECMAScript 4, byli rozděleni do 2 velmi odlišných táborů:

ECMAScript 3.1 Camp :
Microsoft a Yahoo, kteří chtěli inkrementální upgrade z ES3.

ECMAScript 4 Camp :
Adobe, Mozilla, Opera a Google, kteří chtěli masivní upgrade ES4.

13. srpna 2008 Brendan Eich napsal e-mail :

Není žádným tajemstvím, že orgán pro standardy JavaScript, Technický výbor 39 společnosti Ecma, byl více než rok rozdělen, přičemž někteří členové upřednostňovali ES4, hlavní čtvrté vydání ECMA-262, a jiní obhajovali ES3.1 založený na stávajícím ECMA-262. Specifikace Edition 3 (ES3). Nyní vám s radostí oznamuji, že rozdělení je u konce.

Řešením bylo spolupracovat:

  • ECMAScript 4 byl přejmenován na ES5
  • ES5 by měl být přírůstkový upgrade ECMAScript 3.
  • Funkce ECMAScript 4 by měly být převzaty v pozdějších verzích.
  • TC39 by měl vyvinout nové hlavní vydání, rozsahem větší než ES5.

Plánované nové vydání (ES6) dostalo kódové označení „Harmony“ (kvůli rozkolu?).

ES5 byl obrovský úspěch. Byl vydán v roce 2009 a všechny hlavní prohlížeče (včetně Internet Exploreru) byly plně kompatibilní do července 2013:

Chrome 23 IE10 / Edge Firefox 21 Safari 6 Opera 15
Nov 2012 Sep 2012 May 2013 Jul 2012 Jul 2013

ES6 byl také obrovský úspěch. Byl vydán v roce 2015 a všechny hlavní prohlížeče byly plně kompatibilní do března 2017:

Chrome 51 Edge 14 Firefox 52 Safari 10 Opera 38
May 2016 Aug 2016 Mar 2017 Sep 2016 Jun 2016