Jak wygląda kompilowanie kodu javascript? Założmy, że mam zainstalowanego node.js i visual studio code. W visual studio code poleceniem npm start odpalam aplikację. W visual studio code wyświetlają mi się ewentualne błędy aplikacji. Czyli jak rozumiem w visual studio code następuję kompilowanie kodu javascript, a później w przeglądarce ten kod jest jeszcze raz kompilowany?
Javascript jest językiem interpretowanym, czyli nie wymaga kompilacji. Czasami przepuszcza się go przez różne narzędzia, by zmniejszyć jego rozmiar, dołączyć zewnętrzne zasoby, połączyć parę plików w jeden, lub "zaciemnić". Ale nie jest to konieczne. Teoretycznie możesz napisać sobie aplikację javascript w notatniku, wrzucić na stronę i będzie działać.
Natomiast, niektóre środowiska uruchomieniowe (przeglądarki, node, deno itp.), przeprowadzają coś co nazywa się kompilacją JIT (Just-in-time), ma to na celu wykonanie pewnych optymalizacji, gwarantujących szybsze działanie.
Jednak z perspektywy developera nie ma się co tym przejmować. Wydaje mi się, że większość programistów JS nawet nie ma pojęcia, że takie coś występuje i w niczym to im nie przeszkadza.
A co tobie odpala się przy npm start, to ciężko wywnioskować bez bardziej szczegółowych informacji.
A czy kompilacja nie następuje już w przeglądarce wykorzystując silnik przeglądarki?
sajek587 napisał(a):
A czy kompilacja nie następuje już w przeglądarce wykorzystując silnik przeglądarki?
Tak, następuje. Silnik chrome V8 robi kompilację JIT, o której wspomniał @m31 .
Programista natomiast wykorzystuje narzędzia takie jak Webpack/Babel żeby zamienić nowoczesną wersje JavaScriptu, którą mamy obecnie w 2021 roku (EcmaScript 2021 https://en.wikipedia.org/wiki/ECMAScript) na jego starszy odpowiednik z przed kilku lat, ponieważ stare przeglądarki słabo sobie radzą z nowszymi wersjami. Wtedy strona internetowa działa w prawidłowy sposób niezależnie od wersji przeglądarki.