Если вы хотите разрабатывать веб-приложения с использованием фреймворков JavaScript, таких как React Js, Node Js, Express Js или любой другой фреймворк JavaScript, вам необходимо иметь четкое представление об основных основах JavaScript.

Есть несколько важных концепций, которые каждый должен знать перед разработкой приложений с использованием JavaScript или фреймворков JavaScript. Знание этих концепций облегчит вашу жизнь при разработке программного обеспечения.

Давайте познакомимся с некоторыми характеристиками JavaScript:

JavaScript — это язык сценариев, который помогает создавать адаптивные веб-страницы. В отличие от Java, JavaScript не является языком объектно-ориентированного программирования (ООП). Тем не менее, он имеет некоторые характеристики ООП. Мы можем поиграть с кодом и использовать JavaScript для ООП.

Однопоточный язык

Программы JavaScript запускаются только с использованием одного потока на вашем компьютере. Для сравнения, Java использует несколько потоков и может выполнять параллелизм, однако JavaScript не позволяет вам этого делать. Но, будучи однопоточным языком, мы не столкнемся со многими проблемами, такими как взаимоблокировки, потому что JavaScript использует стек вызовов, который является таким же стеком, который вы видели в структурах данных. Мы рассмотрим детали позже.

Динамический тип

В отличие от Java, JavaScript — это язык с динамической типизацией. Проще говоря, вам не нужно указывать типы данных переменных при их объявлении.

Асинхронный механизм

При выполнении функций механизм JavaScript использует стек для отслеживания текущих выполняемых функций. Этот стек выполняет функции в соответствии со знаменитым методом First in Last Out. Этот стек называется стеком вызовов. Однако в некоторых случаях нам нужно подождать некоторое время, чтобы выполнить некоторые функции, такие как вызов веб-API. Так что ждать, пока стек вызовов выполнит веб-API, будет пустой тратой времени. В этих сценариях мы можем использовать асинхронные вызовы функций.

На изображении выше показан простой код вызова функции printHello с использованием метода setTime out и вызова функции printHi. Метод setTimeout будет ждать три секунды перед выполнением функции printHello. Так что это пустая трата времени, если нам придется ждать выполнения функции setTimeout. Здесь вступает в действие асинхронный механизм. Для этого движок JavaScript поддерживает отдельную структуру данных очереди, называемую очередью обратного вызова.

Чтобы реализовать асинхронный механизм, механизм JavaScript поддерживает цикл в стеке вызовов и очереди обратного вызова при выполнении функций в стеке вызовов. Механизм JavaScript периодически просматривает очередь обратного вызова, и если в очереди обратного вызова есть какие-либо ожидающие функции, двигатель помещает их в стек вызовов и выполняет их. Этот цикл известен как «Цикл событий».

Если вас интересовал вывод вышеприведенной программы, вот ответ:

Объекты

JavaScript полностью посвящен объектам. Даже функции работают как объекты. Мы можем назначать объекты другим переменным, вызывать объекты в функции и делать многое другое. Мы можем создать объект, используя {..} с необязательным списком свойств. Свойство — это пара ключ: значение, где ключ — это строка, а значение может быть любым типом данных.

На изображении выше показан пример создания объекта в JavaScript.

Мы можем получить доступ к объектам, указав их имя, и мы можем получить доступ к объектам, используя оператор точки.

Классы

При разработке приложений нам нужно использовать много экземпляров одного и того же типа. Мы можем использовать классы для решения этой проблемы. Синтаксис очень прост. В современном JavaScript мы используем синтаксис «класса» для создания классов. Но также мы можем использовать ключевое слово «новое» с функцией для создания классов.

Затем мы можем использовать ключевое слово «новое» для создания объектов из класса. Как показано на изображении выше, мы можем создать объект класса User и передать имя конструктору. Метод конструктора вызывается автоматически, когда происходит создание объекта.

Оставайтесь на связи! Больше о JavaScript.

Практика делает совершенным!