JavaScript

JavaScript (JS) to skryptowy (interpretowany lub kompilowany metodą JIT) język programowania, w którym funkcje są "obywatelami pierwszej kategorii" - obiektami, które można przechowywać w zmiennych jako referencje i przekazywać jak każde inne obiekty. Chociaż JavaScript jest najbardziej znany jako język skryptowy dla stron internetowych, używa go również wiele środowisk poza przeglądarką, takich jak Node.js, Apache CouchDB czy Adobe Acrobat. JavaScript jest językiem opartym na prototypach, wielu paradygmatach, dynamicznej składni, zorientowanym obiektowo, o stylu imperatywnym i deklaratywnym (np. programowanie funkcyjne). 

Ta sekcja naszego serwisu jest poświęcona samemu językowi JavaScript, a nie zagadnieniom związanym ze stronami internetowymi lub innymi środowiskami hosta. Informacje dotyczące Interfejsów API specyficznych dla stron internetowych, prosimy szukać w źródłach: Internetowe interfesy API i DOM.

Standardem dla JavaScript jest ECMAScript. Od roku 2012, wszystkie nowoczesne przegladarki całkowicie obsługują ECMAScript 5.1. Starsze przegladarki obsługują co najmniej ECMAScript 3. 17 czerwca 2015, ECMA International opublikował szóstą główną wersję ECMAScript, która oficjalnie nazywa się ECMAScript 2015, ale początkowo była nazywana też ECMAScript 6 lub ES6. Od tego czasu standardy ECMAScript są wydawane w cyklach rocznych. Niniejszy dokument odnosi sie do szkicu najnowszej wersji, którą obecnie jest ECMAScript 2018.

Nie należy mylić JavaScript z językiem programowania Java. Zarówno "Java" jak i "JavaScript" są znakami towarowymi lub zastrzeżonymi znakami towarowymi Oracle w U.S.A. i innych krajach. Jednak obydwa te języki programowania mają bardzo różną składnię, semantykę i zastosowanie.

Przewodniki

Naucz się programować w JavaScript, studiując nasze przewodniki i samouczki.

Dla zupełnie początkujących

Jeśli chcesz nauczyć się JavaScript, ale nie masz jeszcze doświadczenia w JavaScript lub programowaniu, przejdź do naszych tematów w strefie nauki JavaScript. Dostępne są tu następujące moduły:

Pierwsze kroki w JavaScript
Znajdziesz tu odpowiedź na kilka podstawowych pytań, takich jak: "Co to jest JavaScript?", "Jak wygląda?" czy "Co można z nim zrobić?", oraz omówienie kluczowych elementów JavaScript, takich jak zmienne, łańcuchy, liczby i tablice.

Klocki JavaScript
Kontynuujemy tu opis podstawowych elementów JavaScript, zwracając uwagę na często stosowane typy bloków kodu, takie jak wyrażenia warunkowe, pętle, funkcje i zdarzenia.

Wprowadzenie do obiektów JavaScript
W procesie nauki języka JavaScript ważne jest zrozumienie jego obiektowo zorientowanej natury. Ułatwi Ci to dalsze zgłębianie tajników tego języka i tworzenie bardziej efektywnego kodu w przyszłości. Ten moduł ma Ci w tym pomóc.

Polecamy także kurs z khan academy 

Przewodnik JavaScript

Przewodnik JavaScript
Znacznie bardziej szczegółowy poradnik JavaScript, przeznaczony dla osób z wcześniejszym doświadczeniem programistycznym w innych jezykach.

Dla średnozaawansowanych

Interfejsy API po stronie klienta
Jeśli chcesz pisać kod JavaScript dla stron internetowych lub aplikacji, działający po stronie klienta nie zajdziesz daleko, zanim nie zaczniesz używać odpowiednich interfejsów API — interfejsów do manipulowania róznymi funkcjami zarówno przeglądarki jak i systemu operacyjnego, w którym owa przeglądarka działa, a nawet manipulowania danymi pochodzącymi z innych witryn lub serwisów internetowych. W tym module dowiesz się, jakie są interfejsy API działające po stronie klienta i jak korzystać z najbardziej popularnych z nich. 
Ponowne wprowadzenie do JavaScript
Przegląd zagadnień związanych z JavaScript, przeznaczony dla tych, co już "wiedzą wszystko".
 Struktura danych JavaScript
Przegląd dostępnych w JavaScript struktur danych.
Porównanie a identyczność
JavaScript zapewnia trzy różne operacje porównywania wartości: ścisłą równość przy użyciu operatoa  ===, luźną równość przy uzyciu operatoa ==  i metodę {jsxref("Global_Objects/Object/is", "Object.is()")}}.
Domknięcia

Domknięcie jest kombinacją funkcji i środowiska leksykalnego, w którym ta funkcja została zadeklarowana.

Dla zaawansowanych

Dziedziczenie i łańcuch prototypowania
Wyjaśnienie powszechnie nierozumianego i niedocenianego dziedziczenia prototypowego.
Tryb ścisły
Tryb ścisły powoduje, że nie jest możliwe użycie jakichkolwiek zmiennych przed ich inicjowaniem. Jest to ścisły wariant ECMAScript 5, zwiekszający wydajność i łatwość debugowania.
Tablice typowane JavaScript
Tablice typowane JavaScript dostarczają mechanizm dostępu do surowych danych binarnych.
Zarządzanie pamięcią
Cykl życia pamięci i odśmiecanie kolekcji w JavaScript.
Model współbieżności i pętla zdarzeń
JavaScript posiada model współbieżny oparty na "pętli zdarzeń".
Wprowadzenie do stosowania XPath w JavaScript
W tym dokumencie opisano interfejs przeznaczony do używania w JavaScript biblioteki XPath, w rozszerzeniach i witrynach internetowych.

Informatory

Przejrzyj kompletną dokumentację informacyjną JavaScript .

Obiekty standardowe
Poznaj standardowe obiekty wbudowane Array, Boolean, Date, Error, Function, JSON, Math, Number, Object, RegExp, String, Map, Set, WeakMap, WeakSet i inne
Wyrażenia i operatory
Dowiedz się więcej o zachowywaniu się operatorów JavaScript instanceof, typeof, new, this, pierwszeństwo opertaorów itd.
Instrukcje i deklaracje
Zapoznaj się jak działają do-while, for-in, for-of, try-catch, let, var, const, if-else, switch i inne instrukcje i słowa kluczowe JavaScript.
Funkcje
Dowiedz się jak pracować z funkcjami JavaScript przy tworzeniu swoich aplikacji.

Narzędzia i zasoby

Przydatne narzędzia do pisania i debugowania kodu JavaScript.

Narzędzia programistyczne Firefox
Scratchpad, Web Console, JavaScript Profiler, Debugger itd.
Powłoki JavaScript
Powłoka JavaScript (konsola linii poleceń) pozwala szybko przetestować fragmenty kodu JavaScript.
TogetherJS
Ułatwia współpracę. Dodając TogetherJS do swojej witryny, można wpomóc współpracę, poprzez wzajemną komunikację uzytkowników w czasie rzeczywistym.
Stack Overflow
Zapytania oznaczone tagiem "JavaScript" na platformie Stack Overflow.
Wersje JavaScript i uwagi do wydań
Przeglądaj historię wydań JavaScript i stan implementacji.
JSFiddle
Edytowanie JavaScript, CSS i HTML z natychmiastowym podglądem wyników. Pozwala na używanie zasobów zewnętrznych i pracę zespołową.
Szablony JavaScript
Na tej stronie omawia sie najpopularniejsze systemy szablonowania stosowane w JavaScript.
Plunker
Plunker to internetowa społeczność, która współpacuje, tworzy i dzieli się pomysłami na tworzenie stron internetowych. Edytuj w przegladarce swoje pliki JavaScript, CSS i HTML i ogladaj na żywo wyniki swojej pracy i strukturę plików.