JavaScript, я перезвоню позже

Что такое JavaScript? 🤔

Проще говоря, JavaScript (JS) — один из самых популярных языков программирования. Самое главное, это одна из основных технологий World Wide Web (WWW). Когда дело доходит до веб-разработки, помимо HTML и CSS, JavaScript является третьим языком, который должен выучить веб-разработчик. В то время как HTML определяет содержимое, а CSS определяет макет, JavaScript предназначен для программирования поведения.

JavaScript — это интерпретируемый, однопоточный, динамически типизированный и мультипарадигмальный язык программирования.

  • Интерпретируемый -> Если вы знакомы с Java или C/C++, вы знаете, что это компилируемые языки. Исходный код должен быть скомпилирован и переведен в байт-код, чтобы сделать его понятным для машин. Но нет необходимости компилировать код JavaScript. Браузер позаботится о его запуске, читая и интерпретируя каждую строку.
  • Однопоточность -> Вы можете задаться вопросом, почему JavaScript заявлен как однопоточный. Есть основной поток, который выполняет программу. Но он может передать часть программы другому потоку и выполнить работу. Но это не означает, что несколько потоков работают вместе.
  • Динамически типизированный -> Нам не нужно определять тип переменных. Это будет обработано во время выполнения.
  • Мультипарадигма — › JavaScript поддерживает не только объектно-ориентированное программирование (ООП), но и функциональное программирование. Поскольку он предлагает парадигму ООП и парадигму функционального программирования, его называют мультипарадигмальным языком программирования. (парадигмы — это способ классификации языков программирования на основе их особенностей)

Но эта статья не посвящена всему, что касается JavaScript. Но мы рассмотрим JavaScript классы, объекты, прототип, ключевое слово this, строгую нотацию, закрытие функций, а также обратные вызовы и обещания. .

Классы и объекты

Класс — это схема создания объектов. ECMAScript 2015 представил классы JavaScript (ECMAScript — это язык сценариев, лежащий в основе JavaScript). Существует несколько способов создания классов в JavaScript.

Я. Использование функций-конструкторов

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

II. Использование литералов объектов ( ‘{}’ )

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

III. Использование ключевого слова «класс»

Когда мы используем ключевое слово class для определения классов, мы всегда добавляем метод конструктора. Этот способ создания классов в JavaScript очень похож на создание классов в Java. Когда мы называем класс, в соответствии с соглашениями об именах в JavaScript, оно всегда должно начинаться с заглавной буквы.

Опытный образец

Каждый объект в JavaScript содержит прототип. Прототип — это тоже объект. Объект-прототип используется при создании объектов, использовании наследования и добавлении методов в класс JavaScript. Объект-прототип автоматически добавляется при создании функции. Прототип функции используется для наследования свойств экземплярам объекта. Экземпляры объекта также имеют прототип, из которого создается объект. Объект «__proto__» — это место, где объект получает свои свойства, унаследованные от него.

Зачем нам нужен объект-прототип?
Когда мы создаем объект в JavaScript, создается новая копия функции. Но используя прототип, все объекты могут использовать одну и ту же функцию вместо создания новой копии.

В приведенном выше примере мы видим, что при создании объектов каждый метод ссылается на отдельный объект-прототип.

Но с использованием прототипа мы можем минимизировать это до метода в объекте-прототипе, как показано ниже. Вместо ссылки на отдельные новые объекты-прототипы все объекты ссылаются на метод в объекте-прототипе.

Строгий режим (использовать строгий режим;)

Это буквальное выражение. Цель использования этого — упростить написание безопасных кодов. Просто это помогает писать более чистый код и приводит к ошибкам, когда есть плохие практики. Например, переменные должны быть объявлены. Если нет, это вызывает ошибки. Это также предотвращает обращение к объекту окна как «это» из внешних экземпляров объекта.

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

ключевое слово "это"

Ключевое слово this относится к объекту. В JavaScript this действует по-разному в зависимости от того, где оно используется.

  • В глобальном контексте -> глобальный объект (Обычно в браузере это объект окна. Но, как мы упоминали ранее, это поведение будет изменено в строгом режиме)
  • В методе объекта -> объект (не исходный объект, где функция была объявлена ​​​​сначала)
  • В функции -> глобальный объект
  • В функции (в строгом режиме) -> undefined

Закрытие функции

Это функция, которая возвращает другую функцию. Внутренняя функция имеет доступ к переменным внешней функции даже после закрытия внешней функции. Другими словами, когда мы создаем внутреннюю функцию, JavaScript создает среду со всеми локальными переменными внешней функции. Сочетание этой среды и внутренней функции называется замыканием. Это похоже на разрешение функции иметь частные переменные.

Обратные вызовы и обещания

Обратный вызов — это функция, передаваемая в другую функцию в качестве параметра. Функция обратного вызова запускается после завершения внешней функции. Поскольку JavaScript по своей природе асинхронен, он не всегда работает в том порядке, в котором мы хотим. Но с помощью функций обратного вызова мы можем убедиться, что наши задачи выполняются по порядку.

В приведенном выше примере мы получаем сумму 30. Это означает, что сначала выполняется метод getSum, а затем вызывается метод printDetails для получения желаемого результата.

Обещание — это объект, который используется для обработки асинхронных операций. Он инкапсулирует результат асинхронной операции. Обещание — это предопределенный объект в JavaScript. Чтобы создать объект обещания, мы должны использовать конструктор Promise().

Когда мы используем обратные вызовы, каждый обратный вызов принимает аргумент, являющийся результатом предыдущих обратных вызовов. Поэтому, когда нам приходится использовать вложенные обратные вызовы, код становится более сложным ('ад обратных вызовов'). Обещания решают эту проблему. Он может легко и аккуратно обрабатывать сложные асинхронные задачи.

Контроль версий и NoSQL важны для разработчиков. Итак, давайте быстро посмотрим, что они собой представляют :)

Контроль версий

Когда мы разрабатываем программное обеспечение или когда мы делаем какие-то групповые проекты, очень сложно управлять проектом. Несколько участников должны внести свой вклад, и не так просто отслеживать изменения и объединять все исходные коды участников. С другой стороны, когда мы делаем проект, у нас есть много файлов, содержащих разные версии нашей работы. Это действительно трудно поддерживать.

Итак, решение — контроль версий. Используя систему контроля версий, мы можем отслеживать наши проекты. Мы можем управлять изменениями в источнике. Каждое изменение идентифицируется номером редакции. Ревизии можно восстанавливать, сравнивать и объединять. Он имеет записи временной метки и участника. Как видите, контроль версий решает множество проблем как в жизни разработчика, так и в организациях. Другими преимуществами являются наличие централизованного репозитория исходного кода, контроль доступа, обзор изменений и разрешение конфликтов.

Самая известная система контроля версий — Git. Существуют GitHub и GitLab в качестве программных инструментов для контроля версий.

NoSQL

Некоторые люди называют их «не только SQL». Это нереляционные базы данных без схем. Они горизонтально масштабируемы и большую часть времени имеют открытый исходный код. Основными типами баз данных NoSQL являются документ, ключ-значение, широкий столбец и граф.

Что такое теорема CAP?

Теорема CAP важна для понимания ограничений баз данных NoSQL. В нем говорится, что мы можем добиться не более двух гарантий для базы данных. (Гарантии - непротиворечивость, доступность и устойчивость к разделам)

Заключение

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

Контроль версий и базы данных NoSQL также важны для разработчика. Итак, здесь я только что рассказал о них, хотя большинство из вас наверняка знает об этих вещах.

Как и JavaScript, не бойтесь стать новой версией себя…
Как и MongoDB, не ограничивайтесь схемами…
Но, как и GitHub, следите за всем…

Спасибо!
До новых встреч :)