JavaScript to:
Język skryptowy:
Działa głównie po stronie klienta, czyli w przeglądarce internetowej.
Choć może być też używany po stronie serwera (np. za pomocą Node.js).
Obiektowy:
Umożliwia korzystanie z obiektów i ich właściwości.
Język wysokiego poziomu.
High-level programming language:
Jest łatwy do nauki dla początkujących i oferuje zaawansowane możliwości dla profesjonalistów.
to język dynamicznie i słabo typowany, i dalej idąc jest językiem interpretowanym z kompilacją w locie
JavaScript to wysokopoziomowy, dynamicznie typowany język programowania oparty na specyfikacji ECMAScript,
używany głównie do tworzenia interaktywności w przeglądarkach oraz do programowania po stronie serwera (np. w Node.js).
(Porównanie do Pythona)
JavaScript został zaprojektowany inaczej niż Python:
- stworzony w 10 dni... jako język do robienia prostych interakcji w przeglądarce
- dopiero później "dorastał" do bycia językiem ogólnego przeznaczenia
Np:
Początkowo nie miał introspekcji — Object.keys, getOwnPropertyNames, Reflect itp. doszły dużo później.
Ma skomplikowany model obiektów: właściwości mogą być ukryte, niedziedziczone, nieenumerowalne itd.
Każda własność ma metadane (writable, enumerable, configurable) – Python tego nie ma.
Współczesny JavaScript:
- nie opiera się już na prostym interpreterze - czytającym kod linijka po linijce, zamiast tego wykorzystuje zaawansowane silniki JS
(V8 w Chrome/Node.js, SpiderMonkey w Firefox czy JavaScriptCore w Safari - łączące interpretację z kompilacją)