Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

JavaScript

Z Wikipedii, wolnej encyklopedii
Ten artykuł dotyczy wariantu języka stosowanego na stronach WWW. Zobacz też:opis składni JavaScriptu.
JavaScript
Logo języka JavaScript
Logo języka
Pojawienie się

4 grudnia 1995; około 29 lat temu[1]

Paradygmat

Język skryptowywieloparadygmatowy (obiektowy,funkcyjny,imperatywny)

Typowanie

dynamiczne,Duck typing

Implementacje

SpiderMonkey,V8,JavaScriptCore, Chakra,Rhino,Carakan,KJS

Aktualnawersja stabilna

ECMAScript 2024
(czerwiec 2024) [±]

Twórca

Brendan Eich

Platforma sprzętowa

wieloplatformowy

Książki w Wikibooks
Multimedia w Wikimedia Commons
Strona internetowa

JavaScript, w skrócieJSskryptowy orazwieloparadygmatowyjęzyk programowania, stworzony przez firmęNetscape, najczęściej stosowany nastronach internetowych. Twórcą JavaScriptu jestBrendan Eich[2]. W połowie lat 90. XX wieku organizacjaECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwieECMAScript, aktualnie rozwijaniem tego standardu zajmuje siękomisja TC39[3].

Zastosowania

[edytuj |edytuj kod]

Najczęściej spotykanym zastosowaniem języka JavaScript są strony internetowe. Skrypty te służą najczęściej do zapewnienia interakcji poprzez reagowanie nazdarzenia, walidacji danych wprowadzanych w formularzach lub tworzenia złożonych efektów wizualnych. Skrypty JavaScriptu uruchamiane przez strony internetowe mają znacznie ograniczony dostęp do komputera użytkownika. Po stronie serwera JavaScript może działać w postacinode.js lub Ringo[4].

W języku JavaScript można także pisać pełnoprawne aplikacje.Fundacja Mozilla udostępnia środowisko złożone z technologii takich jakXUL,XBL,XPCOM orazJSLib. Umożliwiają one tworzenie korzystających z zasobów systemowych aplikacji o graficznym interfejsie użytkownika dopasowującym się do danej platformy. Przykładem aplikacji napisanych z użyciem JS i XUL może byćklient IRC o nazwieChatZilla, domyślnie dołączony do pakietu Mozilla. Microsoft udostępnia biblioteki umożliwiające tworzenie aplikacjiJScript jako część środowiskaWindows Scripting Host. Ponadto JScript.NET jest jednym z podstawowych językówśrodowiska .NET. Istnieje także stworzone przezIBM środowisko SashXB dla systemuLinux, które umożliwia tworzenie w języku JavaScript aplikacji korzystających zGTK+,GNOME iOpenLDAP. PlatformaNode.js umożliwia pisanie aplikacjiwiersza poleceń orazaplikacji serwerowych. Node.js używany jest także w środowiskuElectron, który umożliwia pisanie aplikacjiGUI. Język JavaScript używany jest także na urządzeniachinternetu rzeczy,robotów, czy układów takich jakArduino poprzez bibliotekęJohnny-Five[5].

Historia

[edytuj |edytuj kod]

ECMAScript

[edytuj |edytuj kod]
 Osobny artykuł:ECMAScript.

W 1996 r. organizacjaECMA rozpoczęła pracę nad specyfikacją języka JavaScript pozbawioną odniesień do środowiska interpretującego kod. Język opisany w standardzie ECMA-262 został nazwany ECMAScript. Od tego momentu nazwa JavaScript oznacza jedynie jeden z nadzbiorów języka ECMAScript. Pierwsza wersja standardu była bliska JavaScriptowi w wersji 1.1. Trzecia jako pierwsza rozszerzyła istniejące implementacje. Wersja ES4 została całkowicie porzucona przez przeglądarki internetowe, korzystał z niej jedynie językActionScript dla platformyFlash.

Od 2015 roku znacząco zmienił się proces tworzenia i wydawania nowych wersji ECMAScript. Po wersji ES5 wydanej w 2009 pojawiała się wersja ES6 wydana w 2015 roku, a następna już w 2016 (ES7, a właściwie ES2016). Zmieniło się również oficjalne nazewnictwo – wersja początkowo nazywana ES6 to teraz ES2015, potem jest ES2016, ES2017 itd[6].

Proces dodawania nowych funkcji do standardu opisującego JavaScript jest opisany w artykuleTC39.

Dialekty

[edytuj |edytuj kod]

Od czasu powstania JavaScriptu opracowywane były różne jego odmiany interpretowane za pomocą osobnych silników. Opróczimplementacji wprowadzonych do przeglądarek internetowych należy do nichActionScript aplikacjiAdobe Flash oraz UnityScript w silnikuUnity (nie jest już on obsługiwany od wersji 2018.2[7]).

Wersje JavaScriptu, odmiany ECMAScriptu opracowywanej przezfirmę Netscape.
WersjaWydanaOkoliczności wydaniaWażniejsze rozszerzenia implementowanej specyfikacji[a][8]
przeg.

spec.
1.0marzec 1996NN 2.0brak
1.1sierpień 1996Klasy typów podstawowych,konstruktory,prototypyNN 3.0brak
1.2czerwiec 1997Klasa zdarzeniaNN 4.0brak[b]
1.3październik 1998NN 4.062
1.4?Dostępna jedynie po stronie serwera (np.Netscape Enterprise Server).2
1.5listopad 2000Stałe, interfejsDOM poziom pierwszy i drugiM 0.63
1.6listopad 2005MechanizmE4XFx 1.53
1.7październik 2006Funkcje-iteratory, wielokrotne przypisaniaFx 2.03
1.8czerwiec 2008domknięcia wyrażeń, wyrażenia generująceFx 3.03
 Osobny artykuł:JScript.
Wersje JScriptu, odmiany ECMAScriptu opracowywanej przezfirmę Microsoft.
WersjaWydanaOkoliczności wydaniaWażniejsze rozszerzenia implementowanej specyfikacji[a]
przeg.

spec.

≈ JS
1.0sierpień 1996IE 3.0brak1.0
2.0styczeń 1997IE 3.02brak1.1
3.0październik 1997IE 4.011.3
4.0?Visual Studio 6.011.4
5.0marzec 1999Częściowa implementacja trzeciej wersji standardu (bez mechanizmu wyjątków), interfejsyXMLHttpRequest orazDOM poziom pierwszy i drugiIE 5.021.5
5.1sierpień 2000IE 5.012
5.5sierpień 2000IE 5.53
5.6październik 2001IE 6.03
5.7listopad 2006IE 7.03
.NET11 lipca 2000Microsoft na bazie wstępnej wersji specyfikacji ECMAScript 4 stworzyłJScript.NET.4?

Java

[edytuj |edytuj kod]

Początkowo Netscape nazwała nowy język LiveScript. Nazwa została jednak szybko zmieniona na JavaScript wskutek biznesowych porozumień pomiędzy Netscape a firmąSun Microsystems (współwłaścicielem znaku handlowegoJavaScript jestOracle Corporation, które przejęło Sun Microsystems w 2010 roku). Skrypty JavaScriptu orazaplety Javy (mimo odrębności tych dwóch języków) mogą się wzajemnie komunikować dzięki dostępnej w przeglądarkach Netscape, Mozilla i Opera technologiiLiveConnect. Często występują pewne nieporozumienia, lecz JavaScript i Java to mimo wszystko dwa różne języki.

JavaScript dla WWW

[edytuj |edytuj kod]

Interakcja

[edytuj |edytuj kod]

Wszystkie implementacje JavaScriptu dostępne w przeglądarkach internetowych dostarczają obiektów reprezentujących drzewo dokumentu. Mogą także umożliwiaćtworzenie ciasteczek, manipulowanie oknami przeglądarki, wyświetlanie prostych okien dialogowych, pobieranie informacji o przeglądarce, zarządzanie jej pluginami oraz arkuszami stylów. Reagują także na zdarzenia wywoływane w interfejsie.

Podczas manipulowania zawartością dokumentu problem stanowił brak jego ustandaryzowanego modelu. W czwartym pokoleniu przeglądarek dostęp do niektórych elementów dokumentu w Netscape możliwy był przy użyciu kolekcjidocument.layers, za to w Internet Explorerze –document.all. OrganizacjaW3C opracowała jednak jednolityobiektowy model obsługiwany przez wszystkie współczesne przeglądarki (w tymOperę od wersji 6,Konquerora od wersji 3 orazSafari). Tabliceall ilayers zostały uznane za przestarzałe i wsparcie dla nich zostało praktycznie wycofane.

Osadzanie

[edytuj |edytuj kod]
W języku HTML za umieszczanie skryptów JS odpowiedzialny jest element<script> z opcjonalnymi argumentamitype o wartościtext/javascript (typ MIME) ilanguage o wartościjavascript. Atrybuty były używane gdy inne języki skryptowe były używane. Od HTML5 nie są potrzebne, choć typ MIME może być podany[9][10].
<scripttype="text/javascript"language="JavaScript 1.5">alert(12>6);</script><!-- współczesna składnia --><script>alert(12>6);</script>
Jeżeli kod znajduje się w dokumencie XHTML, w celu uniknięcia zinterpretowania niektórych operatorów jako elementów składni języka należy otoczyć skrypt sekcją CDATA lub zapisać je w postaci encji[11]. W XHTML nie można używać argumentulanguage w znaczeniu określenia wersji języka JS (atrybut, jeżeli jest użyty, powinien przyjąć dwuznakowe wartości opisane standardemISO 639-1 dotyczącejęzyków naturalnych, np. EN, DE, PL).
<scripttype="text/javascript">/* <![CDATA[ */alert(12>6);/* ]]> */</script>
Zewnętrzne skrypty dodawane są także przy użyciu powyższego znacznika, uwzględniając jedynie parametrsrc z nazwą pliku zawierającego kod skryptu.Typ MIME dla samodzielnych plików JavaScript toapplication/javascript lub przestarzałytext/javascript[12].
<scripttype="text/javascript"src="code.js"></script>
Skrypty modułowe, ładujące zależności dynamicznie, muszą być oznaczone przeztype="module"[9][10].
<scriptsrc="js/main.js"type="module"></script>

Transpilatory

[edytuj |edytuj kod]

Przeglądarki oraz język JavaScript stały się platformą do obsługi innych języków. Istniejątranspilatory, które konwertują pliki innego języka na JavaScript. Z najbardziej znanych można wymienić:

Istnieją także transpilatory nowszej wersji języka, na wersje starsze, które będą obsługiwane przez większą liczbę przeglądarek. Dzięki temu można korzystać z nowości, dodanych do języka, zanim zostaną dodane przez przeglądarki. Przykładem takiego narzędzia jestBabel.

Zobacz też

[edytuj |edytuj kod]
Zobacz publikację
JavaScript w Wikibooks

Uwagi

[edytuj |edytuj kod]
  1. abLub poprzedniej wersji implementacji, jeżeli specyfikacji ECMAScript jeszcze nie wydano.
  2. Wersja ta została wydana, zanim ECMA ukończyła pierwszą specyfikację. Mimo to jest z nią częściowo zgodna.

Przypisy

[edytuj |edytuj kod]
  1. Informacja prasowa – „Netscape and Sun announce JavaScript”. (ang.).
  2. Paul Krill: JavaScript founder Brendan Eich: WebAssembly is a game-changer. InfoWorld, 2016-03-10. [dostęp 2016-12-21]. (ang.).
  3. Standard ECMA-262. www.ecma-international.org. [dostęp 2016-12-29].
  4. Ringo.
  5. Johnny-Five: The JavaScript Robotics & IoT Platform.
  6. ES5, ES6, ES2016, ES.Next: What’s going on with JavaScript versioning?. benmccormick.org.
  7. UnityScript’s long ride off into the sunset. [dostęp 2019-05-19]. (ang.).
  8. Wersja 1.1 –Features added after version 1,
  9. abHTML Standard [online], html.spec.whatwg.org [dostęp 2021-11-10] .
  10. abThe Script element – HTML: HyperText Markup Language [online], MDN [dostęp 2021-11-10] (ang.).
  11. Osadzanie skryptów w XHTML. [dostęp 2007-05-07]. [zarchiwizowane ztego adresu (2007-04-20)].
  12. B.B. Hoehrmann B.B.,Scripting Media Types,RFC 4329,IETF, kwiecień 2006,DOI10.17487/RFC4329,ISSN2070-1721,OCLC 943595667 (ang.).

Linki zewnętrzne

[edytuj |edytuj kod]
Języki programowania
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
istrukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne
Źródło: „https://pl.wikipedia.org/w/index.php?title=JavaScript&oldid=76958492
Kategorie:

[8]ページ先頭

©2009-2025 Movatter.jp