JavaScript — wszystko, co wiesz o JS

W języku JavaScript (znanym również jako JS) istnieje kilka podstawowych pojęć, których nauczenie się jest bardzo ważne. Na tym blogu starałem się przedstawić krótką, ale rzeczową demonstrację tych kluczowych koncepcji JS. Z pewnością po zapoznaniu się z tymi tematami JavaScript stanie się dla Ciebie mniej dziwny. Więc bez dalszych ceregieli! Zacznijmy.
Wysoka abstrakcja
W programowaniu wysoka abstrakcja oznacza, że stosunkowo złożone części są ukryte, a części uproszczone są widoczne. Składnia języków o wysokiej abstrakcji jest łatwa w porównaniu z językami niskiego poziomu, takimi jak C i Java, co ułatwia programistom pracę z językami o wysokiej abstrakcji, takimi jak JavaScript, Python, Go i tak dalej.
Garbage Collector
W przeciwieństwie do języków niskiego poziomu, takich jak C, w JavaScript nie musimy ręcznie utrzymywać pamięci. Zamiast tego JavaScript używa automatycznego zarządzania pamięcią, które nazywa się Garbage Collection. Korzystając z algorytmu Mark-and-Sweep, silnik JavaScript automatycznie zbiera nieużywane przydziały pamięci, a następnie je usuwa.
Kompilacja JIT
Za pomocą kompilacji JIT (dokładnie na czas) program jest kompilowany w czasie wykonywania do kodu natywnego w celu poprawy wydajności. Nowoczesne przeglądarki obsługują kompilację JIT do kompilacji kodu JavaScript, co przyspiesza czas wykonania.
Multi-paradygmat
Język multi-paradygmat umożliwia programistom projektowanie programu w wielu podejściach. JavaScript obsługuje programowanie obiektowe, programowanie proceduralne, programowanie funkcyjne i tak dalej.
Oparte na prototypach
Oczywiście JavaScript jest językiem opartym na prototypach, co oznacza, że właściwości i metody obiektu mogą być współużytkowane przez uogólnione obiekty, które można klonować i rozszerzać. Mówiąc prościej, możesz sklonować właściwości i metody obiektu, a także dodać dodatkowe właściwości i metody do tego nowo sklonowanego obiektu.
Dynamicznie typowane
Po prostu, w JavaScript typ zmiennej jest sprawdzany w czasie wykonywania. W tym celu nie musimy nawet określać typu danych zmiennej. Co więcej, nazywa się to językiem luźno typowanym, ponieważ typy danych mogą być również zmieniane automatycznie w czasie wykonywania, co nazywa się wymuszaniem typu. Jednak TypeScript, nadzbiór języka JavaScript, jest językiem o typie statycznym.
Jednowątkowy
JS ma jeden stos wywołań i jedną stertę pamięci, co oznacza, że istnieje tylko jeden wątek (proces) do wykonania instrukcji. Mówiąc wprost, w JavaScript wykonywana jest tylko jedna instrukcja naraz.
Asynchroniczny
Chociaż JavaScript jest językiem jednowątkowym, zachowuje się asynchronicznie za pomocą kolejki wywołań zwrotnych i pętli zdarzeń. Instrukcje asynchroniczne są przechowywane w kolejce wywołania zwrotnego i są wywoływane przez pętlę zdarzeń, a następnie wykonywane za każdym razem, gdy wykonywane są operacje synchroniczne.
Non-Blocking
Non-blocking odnosi się do pojęcia nieblokowania wykonania dla dalszej operacji. JavaScript nie czeka na zakończenie rozszerzonych operacji we/wy i żądań HTTPS. Zamiast czekać, przechowuje instrukcję asynchroniczną w kolejce wywołań zwrotnych i wykonuje pozostałe operacje synchroniczne. Ta koncepcja nieblokowania jest również związana z asynchronicznym zachowaniem JavaScript, o którym już mówiliśmy.
Funkcje są obywatelami
pierwszej kategorii W języku JavaScript funkcje nazywane są obywatelami pierwszej kategorii. Ponieważ w JavaScript funkcje mogą być deklarowane jako zmienne, mogą być przekazywane jako argument w innej funkcji i mogą być zwracane z funkcji. Ponadto funkcje można ustawić jako metodę obiektu.
Uwaga: na tym blogu starałem się przedstawić przegląd najważniejszych funkcji i właściwości języka JavaScript. Teraz twoim obowiązkiem jest dowiedzieć się więcej na te wyżej wymienione tematy.