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

JavaScript

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

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

JavaScript — это язык с динамической типизацией. Он определяет типы переменных, порядок и т. д. Во время выполнения. Вы можете объявлять переменные без использования «int/char/String/etc.» типы.

JavaScript — это язык со слабой типизацией, и с точки зрения правил он проще. В JavaScript переменная объявляется как: «var sum = 10;»

Обратите внимание, что нет точного связанного типа.

Кроме того, JavaScript поддерживает объектно-ориентированные концепции, а также функциональное программирование. Это называется «Мультипарадигма».

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

Когда вы хотите создать класс, вы должны создать его, используя ключевое слово «новое». При использовании ключевого слова «новое» он создаст объект с помощью функции конструктора. Как обычно, функция-конструктор — это другая функция. Мы можем создавать объекты другим способом, используя литерал объекта ({}). Эти объекты считаются одноэлементными.

Примеры:

Прототипы

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

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

ключевое слово this в JavaScript

Маловероятно, что в других языках JavaScript ключевое слово this действует иначе.

  • Внутри объекта «это» относится к самому объекту,
  • В глобальном контексте this относится к глобальному объекту (в браузере это объект окна). Это поведение будет изменено в строгом режиме.

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

Стрелочные функции особенные, у них нет своего «своего» this. Если мы ссылаемся на this из такой функции, оно берется из внешней «нормальной» функции.

Строгая запись

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

Пример

  • Он не позволяет создавать переменные без ключевого слова var (переменная должна быть объявлена).
  • Он перестанет ссылаться на объект окна как на «этот» из внешних экземпляров объекта.

Закрытие

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

JavaScript создает среду со всеми локальными переменными из внешней функции при создании внутренней функции. Замыкание — это сочетание этой среды и внутренней функции.

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

JavaScript является асинхронным. Все операции ввода-вывода в JavaScript реализованы как асинхронные по своей природе. Но асинхронная операция создает трудности, когда нам нужно выполнить синхронную обработку с использованием данных.

Это решается с помощью обратных вызовов и обещаний. Обратный вызов — это функция, которая передается асинхронной задаче, и по завершении функция будет выполнена, а обещание — это объект, который возвращается из асинхронной задачи. Promise имеет свойства для синхронной работы с асинхронными операциями.

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

Простой пример –

Управление версиями

Терминология

  • Репозиторий: центральное место, где хранятся все файлы. Обычно каталог с набором файлов
  • Ствол: также называется основной ветвью. Именно здесь размещается наиболее стабильный код, который называется производственным кодом.
  • Этап: пометить файлы для отслеживания изменений.
  • Зафиксировать. Создайте моментальный снимок изменений, вносимых в файлы.
  • Ветвь:копия основной ветки, взятой в заданной точке. Все разработки функций и исправления ошибок будут выполняться в ветке. Обычно допускается иметь несколько ветвей одновременно.
  • Оформить заказ: пометить/разблокировать файл для изменения.
  • Объединение: объединение веток для обновления главной ветки.
  • Конфликт слияния. Конфликты слияния возникают при слиянии файла, который был изменен в двух разных ветвях или местах. Изменения, которые мешают другим изменениям.

Что?

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

Почему?

  • Контроль доступа.
  • Упрощенное резервное копирование и централизованное хранилище исходного кода.
  • Легкая совместная разработка.
  • Обзор изменений, внесенных в файл.
  • Разрешающий конфликт.

Рекомендации

  • Всегда следите за тем, чтобы у вас была последняя версия файла с помощью системы управления версиями.
  • Объединяйте код с веткой разработки не реже одного раза в день и обязательно проверяйте только то, что вам нужно.
  • Всегда следите за тем, чтобы код работал должным образом и не вызывал сбоев в работе другого кода.

ГИТ

Git — это бесплатная система управления версиями с открытым исходным кодом, первоначально созданная Линусом Торвальдсом в 2005 году. В отличие от старых централизованных систем управления версиями, таких как SVN и CVS, Git является распределенным: каждый разработчик имеет локально полную историю своего репозитория кода. Это делает первоначальное клонирование репозитория медленнее, но последующие операции, такие как фиксация, обвинение, сравнение, слияние и регистрация, значительно ускоряются.

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

Базовый обзор Git →

  1. Создайте «репозиторий» (проект) с помощью инструмента хостинга git (например, Bitbucket).
  2. Скопируйте (или клонируйте) репозиторий на свой локальный компьютер.
  3. Добавьте файл в свой локальный репозиторий и «зафиксируйте» (сохраните) изменения.
  4. «Отправьте» ваши изменения в основную ветку.
  5. Внесите изменения в свой файл с помощью инструмента хостинга git и зафиксируйте.
  6. «Потяните» изменения на свой локальный компьютер.
  7. Создайте «ветку» (версию), внесите изменение, зафиксируйте изменение.
  8. Откройте «pull request» (предложите изменения в основной ветке).
  9. «Объединить» вашу ветку с основной веткой.

Сводка

До сих пор мы обсуждали основные понятия JavaScript, их полезность при создании чего-либо и их примеры. И мы обсудили системы контроля версий, их использование, их преимущества и различные системы контроля версий. Git рассматривается как один из примеров системы контроля версий.

Большое спасибо, что нашли время, чтобы прочитать это. Надеюсь, теперь вы лучше разбираетесь в этих темах.