Wstęp

przez 2 współtwórców

Ten artykuł wymaga przeglądu redakcyjnego.

 

Ten rozdział służy jako wprowadzenie do języka JavaScript i omawia jego fundamentalne koncepcje. 

Co powinienieś wiedzieć by zacząć?

Ten poradnik zakłada że posiadasz podstawową wiedzę w takich obszarach jak:

  • Czym jest koncepcja internetu oraz sieci (WWW);
  • Praktyczne wiadomości na temat języka HyperTextMarkup Language (HTML)
  • Podstawowe doświadczenie w programowaniu. Jeżeli nigdy dotąd nie miałeś styczności z programowaniem wypróbuj jeden z naszych poradników, który znajdziesz na głównej stronie na temat języka JavaScript.

Gdzie szukać informacji na temat języka JavaScript?

Dokumentacja języka JavaScript w MDN zawiera:

  • Poradnik Learning the Web, który służy informacjami dla początkujących oraz wprowadza podstawowe pojęcia dotyczące internetu jak i programowania.
  • Poradnik JavaScript Guide (ten poradnik) służy jako przegląd możliwości i celów posługiwania się językiem JavaScript.  
  • JavaScript Reference zapewnia szczegółowe informacje o języku JavaScript.

Jeżeli nigdy nie miałeś kontaktu z językiem Javascript zacznij od artkułów w strefie nauki i JavaScript Guide. Kiedy poznasz fundamentalne zasady działania języka możesz poszerzać swoją wiedzę dzięki JavaScript Reference, gdzie znajdziesz kody źródłowe i dogłębne opisy indywidualnych zagadnień.

Czym jest JavaScript?

JavaScript to wielo-platformy, zorientowany-obiektowo język skryptowy, który cechuje się lekkością i szybkością działania. W środowiskach developerskich może zostać połączony z konkretnymi obiektami tak by zapewnić nad nimi łatwą i przejrzystą kontrolę.

Język JavaScript zawiera standardową bibliotekę, w której zdefiniowano podstawowe elementy  w postaci operatorów, struktur i instrukcji oraz obiekty takie jak Array,Date i Math. Standardowa biblioteka może być rozszerzana, poprzez dodawanie nowych obiektów, tak by ułatwić programiście dopasowanie języka do jego potrzeb. Na przykład:

  • JavaScript po stronie klienta, został rozszerzony poprzez wprowadzenie mechanizmów kontroli przeglądarki i jej modelu DOM. Rozszerzenia te umożliwiają każdej aplikacji umieszczanie elementów w formularzach HTML, a także reakcję na wydarzenia wywoływane przez użytkownika takie jak kliknięcie myszką, wpisywanie danych oraz nawigacje po stronię. 
  • JavaScript po stronie serwera, został rozszerzony poprzez dodanie elementów, które umożliwiają komunikacje z bazą danych, manipulacje plikami na serwerze oraz sposoby na zapewnienie integralności informacji wymienianej między poszczególnymi elementami aplikacji. 

JavaScript i Java

Języki JavaScript i Java mają pewne podobieństwa, lecz dzielą je fundamentalne różnice. Kod napisany w JavaScript może początkującemu programiście przypominać język Java, ale w przeciwieństwie do niego nie jest statycznie ani silnie typowany. Składnia obu języków a także niektóre konwencje są zbliżone, dlatego początkowa nazwa języka - LiveScript zostala przemianowana na JavaScript. 

W przeciwieństwie do klasowego, kompilowanego systemu Javy,  JavaScript jest językiem intepretowanym, opartym na małej liczbie podstawowych typów danych reprezentujących wartości numeryczne, Boolean i string. Obiektowośc w JavaScript bazuje na prototypach, które zapewniają dynamiczne dziedziczenie. Umożliwia to programiście wybieranie konkretnych metod i atrybutów, które mają zostać przekazane. Jest to spora różnica względem Javy, która opiera się na modelu dziedziczenia w którym główną role odgywają klasy. Róznica między językami zachodzi też w podejściu do funkcji, w JavaScripcie mogą one być atrybutami obiektów, co powoduje że traktowane są wtedy jako słabo typowane metody. 

JavaScript daje większą wolnośc programiście w tworzeniu kodu, nie musimy deklarować wszystkich zmiennych, klas ani metod. Nie musimy także zastanawiać się czy dana metoda powinna być prywatna, publiczna lub chroniona, ani tworzyć interfejsów. Typy zmiennych, parametrów i zwracanych przez funkcje wartości nie są formalnie zdefiniowane. 

Java służy do budowania aplikacji opartych klasach, które cechują się szybkością działania i zachowaniem typów danych. Oznacza to, że nie możemy przekazać zmiennej typu integer jako referencji do obiektu, ani uzyskać dostępu do pamięci przez uszkodzenie kodu wykonywalnego Javy. Klasowy model obiektowości w  Javie oznacza to że programy zbudowane są wyłącznie z klas i ich metod, a dziedziczenie zaimplementowane w tym języku wymaga ściśle powiązanych ze sobą hierarchi. Wszystkie te cechy sprawiają że Java, jest o wiele bardziej skomplikowanym i wymagającym językiem w porównaniu do JavaScripta. 

JavaScript jest duchowym spadkobiercą małych, dynamicznie typowanych języków takich jak HyperTalk i dBASE. Te języki skryptowe oferują narzędzia  bardziej dostępne dla przeciętnego programisty, ze względu na prostą składnie, wyspecjalizowane funkcjonalności i minimalne wymagania w celu tworzenia nowych obiektów.  

JavaScript w porównaniu do Javy
JavaScript Java

Zorientowany obiektowo. Bez rozróżnienia na typy obiektów. Dziedziczenie poprzez mechanizm prototypów, atrybutyi metody klas mogą być dodawane dynamicznie.

Zorientowany klasowo. Obiekty podzielone są na klasy i instancje, z dziedziczeniem poprzez ich hierarchie. Atrybuty i metody klas nie mogą być dodawane dynamicznie. 

Typy zmiennych nie są deklarowane (dynamiczne typowanie).

Typy zmiennych musza być deklarowane (statyczne typowanie)

Nie może automatycznie zapisywać danych na dysk twardy.

Może automatycznie zapisywać dane na dysk twardy.

Po więcej informacji na temat różnic między tymi językami, zobacz rozdział Details of the object model.

JavaScript i specyfikacja EMCAScript

Specyfikacja JavaScripta, definiowana jest przez Ecma International -  stowarzyszenie zajmujące się standardyzacją systemów informatycznych w Europie. Ma to na celu zapewnienie jednolitości języka, który powinien zachowywać się w ten sam sposób w każdej aplikacji wspierającej ten standard. Wersja JavaScript, działająca według tej specyfikacji, zwana jest ECMAScript. Otwarty standard zapewnia możliwość wprowadzania przez firmy swoich implementacji w oparciu o podstawowy model. Pełna specyfikacja standardu ECMAScript zaprezentowana została w dokumencie ECMA-262. Aby dowiedziec sie wiecej o wydaniach języka JavaScript i specyfikacji ECMAScriptz zajrzyj do artykułu New in JavaScript.

Standard ECMA-262 został także zatwierdzony przez ISO (Międzynarodowa Organizacja Normalizacyjna) jako ISO-16262. Specyfikacje możesz także znaleźć na stronie stowarzyszenia ECMA, jednakże nie przedstawia ona modelu DOM, który został ustandardyzowany przez World Wide Web Consortium (W3C). Model ten pełni bardzo ważną funkcje, gdyż definiuje on w jaki sposób elementy dokumentu HTML dostępne są dla Twoich skryptów. By znaleźć więcej informacji o różnych technologiach wykorzystywanych podczas pracy z językiem JavaScript odwiedź artykuł JavaScript technologies overview.

Dokumentacja JavaScript kontra specyfikacja ECMAScript

Specyfikacja ECMAScript precyzuje zestaw wymagań dla implementacji ECMAScript, co przydaję się gdy chcemy zgodnie z obowiązującym standardem zaimplementować funkcje języka lub stworzyć własny silnik (taki jak SpiderMonkey w Firefoxie lub v8 w przeglądarce Chrome).

Jednakże dokument ECMAScript nie powstał po to by pomóc programiście w pisaniu aplikacji, w tym celu wykorzystuj dokumentacje JavaScript.

W specyfikacji ECMAScript używana składnia i terminologia, mogą być początkowo obce dla programisty JavaScript., natomiast nadal jest to ten sam język. JavaScript wspiera każdą funkcjonalność, której ramy zostały nakreślone w tej specyfikacji. 

Dokumentacja JavaScript opisuje wszystkie aspekty języka, które mogą być wykorzystane bezpośrednio przez programistę. 

Pierwsze kroki w języku JavaScript.

By zacząć pracę z  JavaScriptem jedyne czego potrzebujesz to nowoczesna przeglądarka. Ten poradnik wykorzystuje funkcjonalności, które są dostępne tylko w najnowszych wersjach Firefoxa, dlatego zadbaj o to by Twoja wersja przeglądarki była zaktualizowana. 

W Firefoxa zbudowane zostały dwie funkcje znacząco ułatwiające eksperymentowanie z JavaScriptem, mowa tutaj o Konsoli przeglądarki i brudnopisie.  

Konsola WWW

Konsola pozwala na obserwowanie informacji o odwiedzanej przez Ciebie stronie jak i wykonywanie skryptów przez wiersz poleceń. 

By otworzyć konsolę z panelu opcji wybierz "Narzędzia", a następnie "Konsola WWW", wtedy powinna pojawić się na dole Twojego okna. Pasek wiersza poleceń, w którym możesz uruchamiać swój kod JavaScript umieszczony jest na dole konsoli, w miejscu wskazanym  na obrazku:

Brudnopis

Konsola WWW jest świetna kiedy chcemy wykonywać pojedyńcze linijki skryptów, ale pomimo tego że możliwe jest wykonywanie dłuższego kodu, rozwiązanie to nie jest wygodne. Konsola także nie daje możliwości zapisywania kawałków kodu, którego używamy. W tym przypadku do pomocy wykorzystamy Brudnopis, który stworzony został do pracy z bardziej skomplikowanymi przykładami.

By otworzyć brudnopis, z panelu opcji wybierz "Narzedzia", a następnie "Brudnopis", co powinno otworzyć nowe okno przeglądarki wraz z edytorem tekstu, który umożliwia pisanie i wykonywanie kodu JavaScript bezpośrednio w przeglądarce. Możesz także zapisywać i ładować swoje skrypty prosto z dysku twardego. 

Po naciśnięciu przycisku "Wyświetl" znajdującego się w górnej częsci okienka Twój kod zostanie wykonany i umieszczony w edytorze jako komentarz:

Hello world

Swoją przygodę z językiem JavaScript rozpocznij od otworzenia Konsoli WWW lub brudnopisu i napisania pierwszego skryptu "Hello world".

function greetMe(user) {
  return "Witaj " + user;
}

greetMe("Alice"); // "Witaj Alice"

Na następnych stronach tego poradnika wproadzimy Cię w składnie JavaScripta i pokażemy zestaw możliwości dostarczanych przez ten język, by umożliwić Ci napisanie bardziej skomplikowanych aplikacji.

Autorzy i etykiety dokumentu

Etykiety: 
Contributors to this page: xolir, Mlodyemoka
Ostatnia aktualizacja: xolir,
Ukryj panel boczny