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.

  • 🌐 Klient a server: JavaSkript začínal v prohlížeči, ale nyní běží i na serverech prostřednictvím Node.js, Deno a Bun.
  • 🕰️ Původ: Brendan Eich vytvořil jazyk ve společnosti Netscape v roce 1995; jmenoval se Mocha, poté LiveScript a nakonec JavaSkript.
  • 📜 Standardní: ECMAScript je oficiální specifikace, takže každý moderní prohlížeč se shoduje na stejných základních jazykových pravidlech.
  • 🛠️ Setup: K napsání a otestování vašeho prvního skriptu stačí textový editor a jakýkoli moderní prohlížeč.
  • 🖥️ Nejprve konzole: Stiskněte klávesu F12, otevřete kartu Konzola a spusťte jednotlivé řádky JavaSkript bez vytváření souborů.
  • Ne Java: Java a JavaSkripty sdílejí čtyři písmena a téměř nic jiného, ​​včetně typových systémů a běhových prostředí.
  • Umístění: Vložte skripty do tagů skriptů nebo propojte externí soubor .js pro přehlednější a cacheovatelné stránky.

Co je to JavaScénář

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.

Úvod do JavaScénář

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.

Javascript Historie

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.

Nejčastější dotazy

ECMAScript je psaný standard, publikovaný jako ECMA-262, který definuje syntaxi a vestavěné objekty. JavaSkript je funkční implementace tohoto standardu dodávaná dodavateli prohlížečů a Node.js. Názvy verzí, jako například ES6, odkazují na edice standardu.

Obojí. Zdrojový kód je dodáván jako prostý text a čte se enginem, ale enginy jako V8 a SpiderMonkey kompilují často spouštěné funkce just-in-time do strojového kódu. Výsledek se chová jako interpretovaný jazyk s téměř kompilovanou rychlostí.

Obvyklými příčinami jsou chybějící tag uzavíracího skriptu, nesprávná cesta k externímu souboru, překlep, který vyvolá syntaktickou chybu, nebo skript, který se spustí před existencí cílového prvku. Otevřete kartu Konzole a přečtěte si přesnou chybu.

Interní skripty stačí na pár řádků, zatímco se učíte. Jakmile kód použijete na více než jedné stránce, přejděte do externího souboru .js, protože prohlížeč jej pak může uložit do mezipaměti a kód zůstane čitelný.

Dokážou rychle vytvořit funkční úryvky kódu, ale také kombinují API pouze pro prohlížeč a Node.js a občas vymýšlejí metody. Spusťte každý návrh, přečtěte si chyby v konzoli sami a výstup považujte spíše za koncept než za hotovou odpověď.

Vytváří rozhraní chatu, streamuje odpovědi modelu token po tokenu a volá API modelu z backendu Node.js. Knihovny jako TensorFlow.js a ONNX Runtime Web také spouštějí menší modely přímo v prohlížeči.

Shrňte tento příspěvek takto: