FRONT-END

JAVASCRIPT

JavaScript - fundament wspolczesnego internetu

JavaScript to jeden z najważniejszych i najbardziej wpływowych języków programowania w historii informatyki. Jest to język wysokiego poziomu, dynamiczny i interpretowany, który pierwotnie powstał do tworzenia interaktywnych stron internetowych, a dziś stanowi podstawę niemal całego nowoczesnego internetu.

JavaScript jest jedynym językiem programowania, który natywnie działa w każdej przeglądarce internetowej bez potrzeby instalowania dodatkowego oprogramowania. Dzięki temu stał się uniwersalnym językiem frontendu, a z czasem – również backendu, aplikacji mobilnych, desktopowych, a nawet systemów wbudowanych.

Obecnie JavaScript jest używany zarówno do prostych animacji, jak i do ogromnych systemów enterprise, aplikacji chmurowych, platform streamingowych, gier oraz narzędzi DevOps.

Historia języka JavaScript

JavaScript został stworzony w 1995 roku przez Brendana Eicha w firmie Netscape. Co niezwykłe, pierwsza wersja języka powstała w zaledwie 10 dni.

Początkowo język nosił nazwę Mocha, następnie LiveScript, a ostatecznie – z powodów marketingowych – JavaScript, choć nie ma on bezpośredniego związku z językiem Java.

Z czasem JavaScript stał się standardem dzięki specyfikacji ECMAScript, rozwijanej przez organizację ECMA International.


ECMAScript i standardy

Formalna specyfikacja języka JavaScript nosi nazwę ECMAScript (ES).

  • ES5 – stabilizacja języka
  • ES6 / ES2015 – rewolucja składniowa
  • ES2016+ – coroczne aktualizacje

Nowoczesny JavaScript wprowadził:

  • moduły
  • klasy
  • funkcje strzałkowe
  • async / await
  • destrukturyzację

Charakterystyka języka JavaScript

  • dynamiczne typowanie
  • język interpretowany (JIT)
  • paradygmat wielostylowy
  • oparty na prototypach
  • single-threaded z event loop

Podstawowa składnia JavaScript

Hello World


console.log("Hello, JavaScript!");

Zmienne i typy danych


let age = 30;
const name = "Jan";
let isActive = true;

JavaScript posiada typy prymitywne:

  • string
  • number
  • boolean
  • null
  • undefined
  • symbol
  • bigint

Funkcje


function add(a, b) {
  return a + b;
}

Funkcje strzałkowe


const add = (a, b) => a + b;

Instrukcje warunkowe i pętle


if (age >= 18) {
  console.log("Adult");
} else {
  console.log("Minor");
}

for (let i = 0; i < 5; i++) {
  console.log(i);
}

Obiekty i tablice


const user = {
  email: "test@example.com",
  age: 30
};

const numbers = [1, 2, 3, 4];

Prototypy i dziedziczenie

JavaScript nie używa klasycznego dziedziczenia klasowego, lecz dziedziczenie prototypowe.


function User(name) {
  this.name = name;
}

User.prototype.login = function () {
  console.log("Logged in");
};

Klasy w JavaScript

Klasy w JS są składniowym „cukrem” nad prototypami.


class User {
  constructor(email) {
    this.email = email;
  }

  login() {
    console.log("User logged in");
  }
}

Asynchroniczność

Callbacks


setTimeout(() => {
  console.log("Done");
}, 1000);

Promises


fetch(url)
  .then(res => res.json())
  .then(data => console.log(data));

Async / Await


async function loadData() {
  const res = await fetch(url);
  const data = await res.json();
}

Event Loop

JavaScript działa w jednym wątku, ale dzięki event loop obsługuje asynchroniczność.

  • Call Stack
  • Web APIs
  • Callback Queue
  • Microtask Queue

JavaScript w przeglądarce

JS umożliwia manipulację strukturą HTML poprzez DOM.


document.getElementById("btn")
  .addEventListener("click", () => {
    alert("Clicked");
  });

JavaScript poza przeglądarką – Node.js

Dzięki środowisku Node.js, JavaScript może działać po stronie serwera.


const http = require("http");

http.createServer((req, res) => {
  res.end("Hello from Node.js");
}).listen(3000);

Frameworki i biblioteki

Frontend

  • React
  • Angular
  • Vue
  • Svelte

Backend

  • Express
  • NestJS
  • Fastify

JavaScript w testach automatycznych

  • Jest
  • Mocha
  • Cypress
  • Playwright
  • CodeceptJS

JavaScript w aplikacjach mobilnych i desktopowych

  • React Native
  • Electron
  • Tauri

Zalety JavaScript

  • ogromny ekosystem
  • uniwersalność
  • niski próg wejścia
  • wsparcie każdej przeglądarki

Wady JavaScript

  • dynamiczne typowanie
  • złożoność ekosystemu
  • historyczne niespójności

JavaScript dziś i jutro

JavaScript pozostaje absolutnym filarem nowoczesnego IT. Rozwój TypeScript, WebAssembly oraz nowych API sprawia, że JS stale ewoluuje.

Jest to język, którego znajomość jest praktycznie obowiązkowa w web developmencie.


Podsumowanie

JavaScript to nie tylko język – to cały ekosystem. Od prostych skryptów w przeglądarce, przez aplikacje mobilne i backend, aż po narzędzia DevOps i chmurę.

Bez JavaScriptu współczesny internet po prostu by nie istniał.

1
HOME | CSS | HTML | CONTACT
RED | LIME | ORG |copy(Ⓒ)2023:xyh