Co je to JavaSkript? Úvod s příkladem Hello World
⚡ Chytré shrnutí
JavaSkript je programovací jazyk, který umožňuje interaktivní webové stránky. Tento úvod vysvětluje, co... JavaSkript je, odkud pochází, jak jej prohlížeče a Node.js spouštějí a jak napsat a spustit první skript Hello World.

Co je to JavaSkript?
JavaSkript je programovací jazyk na vysoké úrovni, který přidává chování webovým stránkám. Je to jedna ze tří základních technologií webu: HTML dodává strukturu, CSS dodává vzhled a JavaInterakci zajišťuje skript. Pokaždé, když se ve vyhledávacím poli zobrazí návrhy během psaní, zobrazí se fotogalerie nebo se zobrazí registrační formulář s upozorněním na chybějící pole, JavaSkript tuto práci dělá na pozadí.
Níže uvedený diagram ukazuje, jak se skript nachází vedle kódu běžné webové stránky.
Po většinu svého života JavaSkript byl popisován jako skriptovací jazyk na straně klienta, protože běžel pouze v prohlížeči. Tento popis je nyní neúplný. Od roku 2009, kdy se objevil Node.js, se tento jazyk používá i na webových serverech, v nástrojích příkazového řádku, desktopových a mobilních aplikacích. Přesnější popis dnes zní, že JavaSkript je univerzální jazyk s neobvykle silným zastoupením v prohlížeči.
Charakteristiky, které definují jazyk, jsou:
- Dynamicky typované: Proměnná může nyní obsahovat číslo a chvíli poté řetězec, takže typy se kontrolují během běhu programu.
- Interpretováno a sestaveno včas: Enginey jako V8 v Chromu a Node.js kompilují často spouštěný kód do strojového kódu kvůli rychlosti.
- Multiparadigma: Podporovány jsou imperativní, funkcionální a objektově orientované styly.
- Řízeno událostmi: kód reaguje na kliknutí, stisknutí kláves, časovače a síťové odpovědi, místo aby běžel odshora dolů a zastavil seping.
- Jednovláknový systém se smyčkou událostí: Pomalá práce, například síťové volání, je zařazena do fronty místo zmrazení stránky.
💡 Tip: JavaScript a ECMAScript si nejsou konkurenční jazyky. ECMAScript je psaná specifikace a JavaSkript je implementace této specifikace, kterou prohlížeče a Node.js skutečně dodávají.
Historie JavaScénář
Vytvořil Brendan Eich JavaScénář ve společnosti Netscape Communications v roce 1995, první funkční prototyp byl vytvořen zhruba za deset dní. Interně se projekt nazýval MokaDodáván byl v beta verzi Netscape Navigatoru 2.0 jako LiveScript v září 1995 a byl přejmenován JavaScénář v prosinci 1995 jako součást marketingové dohody mezi společnostmi Netscape a Sun Microsystems, která vlastnila Java v době, kdy.
Toto přejmenování je jediným důvodem, proč tolik začátečníků stále předpokládá JavaScript je odlehčená verze JavaTyto dva jazyky spolu nesouvisí, co se týče designu, vlastnictví a běhového prostředí. Netscape předložil jazyk organizaci Ecma International v roce 1996 a první vydání standardu ECMA-262 bylo publikováno v červnu 1997. Níže uvedená tabulka uvádí milníky, které jsou nejdůležitější při čtení staršího kódu.
| Rok výroby | Milestone | Proč je to důležité |
|---|---|---|
| 1995 | Mocha, pak LiveScript a pak JavaScénář | Jazyk vytvořil Brendan Eich ve společnosti Netscape. |
| 1997 | ECMA-262 první vydání | Jazyk získává psaný standard neutrální vůči dodavateli. |
| 2009 | ES5 a první vydání Node.js | Přichází přísný režim a JavaSkript escapuje prohlížeč. |
| 2015 | ES6 (ECMAScript 2015) | Jsou přidány funkce let, const, šipky, třídy, moduly a promise. |
| 2016 dále | Roční vydání ECMAScript | Menší funkce se vydávají každý červen, nikoli ve vzácných velkých verzích. |
Vzhledem k ročnímu cyklu vydávání se kód napsaný před rokem 2015 znatelně liší od moderního kódu. Starší tutoriály používají var všude, zatímco současný kód preferuje let a const kdy deklarování proměnných v JavaScénář.
Co je to JavaK čemu je použit skript?
JavaSkript se již neomezuje jen na malé triky na stránce. Stejná syntaxe se nyní objevuje na čtyřech velmi odlišných místech, a proto se v průzkumech vývojářů trvale řadí mezi nejpoužívanější jazyky.
| Oblast | Co JavaSkript tam dělá | Typické nástroje |
|---|---|---|
| Front-end prohlížeče | Zpracovává kliknutí, aktualizuje stránku bez opětovného načítání, ověřuje formuláře a kreslí grafy. | React, Vue, Angular, Svelte |
| Strana serveru | Obsluhuje HTTP požadavky, komunikuje s databázemi a vytváří REST nebo GraphQL API. | Node.js, Deno, Bun, Express |
| Mobilní aplikace | staví Android a iOS aplikace z jedné sdílené kódové základny. | React Native, IonicKondenzátor |
| Desktop aplikace | Zabalí webové rozhraní do nativního okna s přístupem k souborovému systému. | Elektron, Býk |
| Nástroje a automatizace | Sdružuje datové zdroje, spouští testovací sady a řídí prohlížeče pro komplexní testování. | Vite, webpack, Jest, dramatik |
Hry, vizualizace dat, rozšíření prohlížeče a malé hardwarové projekty se na něm také spoléhají. Pro začátečníka je praktický důsledek jednoduchý: úsilí, které vynakládáte na syntaxi, se nyní přímo přenáší na práci na serveru, mobilní práci a automatizaci testování později. Chcete-li vidět jazyk aplikovaný na skutečné problémy, projděte si sadu praktický JavaPříklady skriptového kódu jakmile si osvojíte základní prvky.
Jak spustit JavaSkript?
JavaSkript se nespustí sám od sebe. Potřebuje hostitelské prostředí, které obsahuje JavaScénář motorChrome a Edge používají V8. Firefox používá SpiderMonkey a Safari používá JavaScriptCore. Když prohlížeč stáhne HTML stránku a najde skript, předá tento skript svému enginu, který jej analyzuje, kompiluje a spustí.
Druhým hostitelským prostředím je Node.js, které vkládá stejný V8 engine mimo prohlížeč. Takto běží identický jazyk na serveru nebo v terminálu. Praktická výhoda JavaSkript je to každý moderní prohlížeč to podporuje on Windows, Linux a macOS, takže se jen zřídkakdy musíte starat o to, který prohlížeč návštěvník používá. Jedná se o skutečné vylepšení oproti VBScriptu, který fungoval pouze v Internet Exploreru na Windows a nyní je zastaralý spolu se samotným Internet Explorerem.
Warning️ Varování: prohlížeč JavaSkript a Node.js JavaSkripty sdílejí základní jazyk, ale ne okolní objekty. document a window existují pouze v prohlížeči a require a moduly souborového systému existují pouze v Node.js. Kopírování kódu mezi nimi bez kontroly vyvolá chybu odkazu.
Nástroje, které potřebujete
Pro psaní kódu potřebujete textový editor a pro zobrazení výsledku prohlížeč. Notepad++, Visual Studio Code, Sublime Texta jakýkoli jiný editor, se kterým se vyznáte, to zvládne, i když editor se zvýrazňováním syntaxe a porovnáváním závorek vám ušetří spoustu ladění. Funguje jakýkoli aktuální prohlížeč: Google Chrome, Firefox, Microsoft Edgenebo Safari. Kromě těchto dvou položek není nutné nic kupovat ani instalovat.
Jednoduchý JavaSkriptovací program
Pokud budete pokračovat JavaSkript uvnitř samotného HTML dokumentu, veškerý kód musí být umístěn mezi úvodním znakem <script> tag a uzavírací </script> tag. Takto prohlížeč rozezná váš kód od okolního kódu. Starší stránky také nastavují type atribut, zapsaný jako <script type="text/javascript">, což bylo potřeba, když existovaly konkurenční klientské jazyky, jako například VBScript. Moderní stránky ho vynechávají, protože HTML5 s ním zachází text/javascript jako výchozí. Dvě níže uvedené verze jsou funkčně identické a obě jsou stále platné.
Příklad Ahoj světe
Tradiční první program zobrazí zprávu. Umístěte následující kód do souboru s názvem hello.html a otevřete jej v prohlížeči.
<html>
<head>
<title>My First JavaScript code!!!</title>
<script type="text/javascript">
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Výstup:
A browser dialog box opens containing the text: Hello World!
Poznámka: type="text/javascript" není v HTML5 nutné. Následující kód funguje přesně stejně.
<html>
<head>
<title>My First JavaScript code!!!</title>
<script>
alert("Hello World!");
</script>
</head>
<body>
</body>
</html>
Výstup:
A browser dialog box opens containing the text: Hello World!
Jakmile stránka překročí několik řádků, přesunutí skriptu do vlastního .js Soubor udržuje kód čitelný a umožňuje prohlížeči ukládat kód do mezipaměti. Rozdíly jsou podrobně popsány v tomto srovnání interní a externí JavaScénář.
Jak napsat a spustit svůj první skript
Existují tři praktické způsoby, jak to provést JavaSkript a začátečník by měl vyzkoušet všechny tři, protože každý z nich se hodí do jiné situace.
1. Konzole prohlížeče. Toto je nejrychlejší možnost a nevyžaduje žádné soubory. Otevřete libovolnou webovou stránku a stiskněte F12 (nebo Ctrl+Shift+Já na Windows a Linux, Cmd+Option+I na macOS) a vyberte konzola Tab. Napište řádek, stiskněte Enter a výsledek se zobrazí okamžitě. Je to ideální místo pro otestování jednoho výrazu nebo pro kontrolu, co funkce vrací.
// Type each line into the browser console and press Enter console.log(2 + 2); console.log("Guru" + 99); console.log(Math.max(4, 12, 7)); console.log(typeof "hello");
Výstup:
4 Guru99 12 string
Všimněte si druhého řádku. Přidání čísla 99 k řetězci „Guru„vytvoří řetězec „Guru99“ spíše než chyba, protože JavaSkript automaticky převede číslo na text. Toto chování je pohodlné a zároveň je klasickým zdrojem chyb pro začátečníky.
2. Soubor HTML. Toto je výše uvedený příklad Hello World. Použijte ho vždy, když se kód musí dotknout samotné stránky, například při čtení hodnoty formuláře nebo změně prvku.
3. Node.js z terminálu. Nainstalujte Node.js a uložte kód do souboru s příponou .js rozšíření a poté spusťte node first-script.jsNic se nevykresluje, takže console.log se stane vaším výstupním kanálem. Touto cestou se vydáte, když chcete procvičovat funkce čistého jazyka bez jakéhokoli HTML kolem nich.
// first-script.js const language = "JavaScript"; const createdBy = "Brendan Eich"; const releaseYear = 1995; console.log(language + " was created by " + createdBy + " in " + releaseYear + "."); const usedFor = ["Interactive web pages", "Server apps with Node.js", "Mobile apps"]; usedFor.forEach(function (item, index) { console.log(index + 1 + ". " + item); });
Výstup:
JavaScript was created by Brendan Eich in 1995. 1. Interactive web pages 2. Server apps with Node.js 3. Mobile apps
Tento krátký skript již používá tři myšlenky, se kterými se budete neustále setkávat: konstanty deklarované pomocí const, řada obsahující seznam hodnot a funkci zpětného volání předanou forEachPřepsání stejné smyčky pomocí for výrok je užitečné cvičení, jakmile jste si prostudovali smyčky v JavaScénář.
JavaSkript vs. Java
Názvy jsou největší nehodou v historii programování a zmatek, který způsobují, stojí za to objasnit hned na začátku. JavaScript byl přejmenován z LiveScript čistě z marketingových důvodů v roce 1995, v době, kdy Java byla nejvíce diskutovanou technologií na webu. Tyto dva jazyky byly navrženy různými lidmi, v různých společnostech, pro různé problémy.
| Vzhled | JavaScénář | Java |
|---|---|---|
| Vytvořil | Brendan Eich v Netscape, 1995 | James Gosling ve společnosti Sun Microsystems, 1995 |
| Typing | Dynamické a slabě typované | Statické a silně typované |
| Běží dál | Prohlížečové enginy a Node.js | Jedno Java Virtuální stroj |
| Kompilace | Just-in-time kompilované enginem za běhu | Předem zkompilováno do bajtkódu |
| Objektový model | Založeno na prototypu, s přidanou syntaxí tříd v ES6 | Založeno na třídě od začátku |
| Přípona souboru | . Js | .java zkompilovaná do .class |
| Běžné použití | Webové frontendy, API, nástroje | Podnikové backendy, Android, velká data |
Jedinou skutečnou podobností je, že si oba jazyky vypůjčují syntaxi složených závorek z jazyka C. Naučení se jednoho jazyka vás nenaučí druhému, i když sdílená syntaxe usnadňuje čtení druhého jazyka. Pokud je striktní typing apeluje na tebe, TypeScript přidá statickou typovou vrstvu na vrchol JavaSkript při kompilaci do prostého formátu JavaScénář a rozdíly jsou uvedeny v tomto TypeScript a JavaPorovnání skriptů.
Jakmile jsou základy připraveny, přirozenými dalšími kroky jsou interaktivní JavaCvičení se skripty, pak proměnné a datové typy, následován pole a smyčky. Potom, objektově orientovaný JavaScénář vysvětluje, jak objekty, prototypy a třídy do sebe zapadají, a formátování řetězců pokrývá práci s textem, kterou budete používat téměř v každém skriptu.


