Skip to content

Instantly share code, notes, and snippets.

@Nayteruz
Created January 24, 2023 08:34
Show Gist options
  • Save Nayteruz/045518f5b965e22287ccf2a6128ccd2c to your computer and use it in GitHub Desktop.
Save Nayteruz/045518f5b965e22287ccf2a6128ccd2c to your computer and use it in GitHub Desktop.
Шпаргалка по js
Типы данных в JS
string
number
bigint большие числа
boolen
symbol
object
null
undefined
Проверка типа данных через оператор typeof
function declaration vs function expression
func declar - это объявленин функции напрямую
function a(){
// тело функции
}
Такой способ позволяет использовать инициализацию функции до ее объявления в коде. за счет поднятия (hoisting)
funct expression
Это объявление функции через присваивание.
const func = function b (){ //тело функции }
Типы таймеров в js
SetTimeout и SetInterval
Разница между let const var
var это объявление всплывает(hoisting) при обращении до инициализации получим undefined
В случае let const получим ошибку
Так же отличаются областью видимости у let и const область видимости блочная. То есть если они объявлены в скобках то доступны только там и на всех вложенных уровнях
const переменная является константой и не может быть изменена. Но если это объект или массив то содержимое может быть измененено. Но может быть изменен тип переменной. Например с числа на строку. С притивами по идее совсем не может быть изменено.
Функции высшего порядка.
Это функции которые принимают аргументом другую функцию либо возвращают функцию. Пример таких функций
.map, .forEach, .filter, .reduce
Замыкание - это ограничение области видимости переменной внутри функции для исключения загрязнения глобальной области видимости и в целом для исключения ошибок в случае одинаковых названий
let a = 5;
function b(){
a = 3;
}
b()
console.log(a) // a = 5 так как в функции значение замкнулось.
Разница между forEach и map
forEach ничего не возвращает.
map возвращает новый массив.
Разница между call apply bind
В целом используется для задания контекста функции.
Применяется к функции.
call и apply разница в томм что apply принимает аргументы в виде массива
bind возвращает новую функцию с заданным контекстом и такую функцию (function expression) можно вызвать в нужном месте.
Оператор двойного отрицания используется для приведения значения к логическому типу
!!123 => true
!!null => false
!!undefined => false
!!'' => false
!!0 => false
event loop и как он работает
Представляет собой поток выполнения кода JavaScript. Это концепция для выполнения асинхронного кода в однопоточном потоке Event Loop выполняет одну простую задачу — осуществляет контроль стека вызовов и очереди обратных вызовов.
Если стек вызовов пуст, цикл событий возьмет первое событие из очереди и отправит его в стек вызовов, который его запустит.
Не объявленная переменная это переменная назначенная без использования var let const
Так делать не рекомендуется.
Параметры всегда передаются в функцию по значению.
Что такое классы - это шаблон для создания объектов. Класс создается через зарезервированное ключевое слово class и представляет набор свойств для описания состояния и поведения объекта. Инициализируется через ключевое слово new.
Что такое объект - это коллекция свойств. Где каждое свойство представляет собой пару - название : значение. Название может быть только строкой. Значением любой тип данных.
Что такое функция - это блок программы который выполняет определенное действие. Функция может вызываться многократно в блоке кода и всегда будет возвращать значение.
Что такое React - это библиотека для создания пользовательских интерфейсов. Отвечает за слой предеставления. Основная философия это компонентный подход.
Основные особенности React использование виртуального ДОМ дерева вместо реального.
Виртуальное ДОМ дерево - это легковесное дерево из js объектов для имитации ДОМ дерева. Его легковесная копия.
SSR - отрисовка на сервере.
однонаправленный поток данных. Все данные направляются от корневых элементов ко вложенным.
Использование переиспользуемых компонентов для пользовательского интерфейса.
@Nayteruz
Copy link
Author

Nayteruz commented Jan 25, 2023

Типы данных в JS

string
number
bigint большие числа
boolen
symbol
object
null
undefined

Проверка типа данных через оператор typeof

function declaration vs function expression
Декларативное выражение и фунцциональное выражение.

func declar - это объявленин функции напрямую

function a(){
// тело функции
}

Такой способ позволяет использовать инициализацию функции до ее объявления в коде. за счет поднятия (hoisting)

funct expression
Это объявление функции через присваивание.
const func = function b (){ //тело функции }

Типы таймеров в js
SetTimeout и SetInterval

Разница между let const var

var это объявление всплывает(hoisting) при обращении до инициализации получим undefined
В случае let const получим ошибку
Так же отличаются областью видимости у let и const область видимости блочная.
То есть если они объявлены в скобках то доступны только там и на всех вложенных уровнях
const переменная является константой и не может быть изменена.
Но если это объект или массив то содержимое может быть измененено. Но может быть изменен тип переменной.
Например с числа на строку. С притивами по идее совсем не может быть изменено.

Функции высшего порядка.
Это функции которые принимают аргументом другую функцию либо возвращают функцию. Пример таких функций
.map, .forEach, .filter, .reduce

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

let a = 5;
function b(){
a = 3;

}
b()
console.log(a) // a = 5 так как в функции значение замкнулось.

Разница между forEach и map
forEach ничего не возвращает.
map возвращает новый массив.

Разница между call apply bind
В целом используется для задания контекста функции.
Применяется к функции.
call и apply разница в томм что apply принимает аргументы в виде массива
bind возвращает новую функцию с заданным контекстом и такую функцию (function expression) можно вызвать в нужном месте.

Оператор двойного отрицания используется для приведения значения к логическому типу
!!123 => true
!!null => false
!!undefined => false
!!'' => false
!!0 => false

event loop и как он работает
Представляет собой поток выполнения кода JavaScript. Это концепция для выполнения асинхронного кода в однопоточном потоке.
Event Loop выполняет одну простую задачу — осуществляет контроль стека вызовов и очереди обратных вызовов.
Если стек вызовов пуст, цикл событий возьмет первое событие из очереди и отправит его в стек вызовов, который его запустит.

Не объявленная переменная это переменная назначенная без использования var let const
Так делать не рекомендуется.

Параметры всегда передаются в функцию по значению.

Что такое классы - это шаблон для создания объектов.
Класс создается через зарезервированное ключевое слово class и представляет набор свойств для описания состояния и поведения объекта.
Инициализируется через ключевое слово new.
Что такое объект - это коллекция свойств.
Где каждое свойство представляет собой пару - название : значение.
Название может быть только строкой. Значением любой тип данных.

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

Что такое React - это библиотека для создания пользовательских интерфейсов. Отвечает за слой предеставления. Основная философия это компонентный подход.

Основные особенности React использование виртуального ДОМ дерева вместо реального.
Виртуальное ДОМ дерево - это легковесное дерево из js объектов для имитации ДОМ дерева. Его легковесная копия.
SSR - отрисовка на сервере.
однонаправленный поток данных. Все данные направляются от корневых элементов ко вложенным.
Использование переиспользуемых компонентов для пользовательского интерфейса.

Что такое REST - это передача состояния представления. Это архитектурный стиль взаимодействия компонентов распределенного приложения в сети. Представляет собой согласованный набор ограничений учитываемых при проектировании распределенной гипер медиа системы. Простой интерфейс управления информацией без испрользования дополнительных прослоек. По сути это стиль предоставления данных по URL(глобальный идентификатор) где благодаря различным URL получаешь только конкретные нужные данные в нужном формате.

API Application Programming Interface. Программный интерфейс приложения. Набор методов с помощью которых интерфейс может взаимодействовать с базой данных. Работает через стек CRUD операций.

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

Из чего состоит HTTP запрос. Стартовая строка, заголовок, тело запроса.
Стартовая строка состоит из метода, пути, версии протокола.
Методы бывают
GET - запрос на получение данных.
POST - запрос на отправку данных.
PUT - заменяет текущее представление ресурса данными запроса. Для редактирования.
DELETE - запрос на удаление указанных данных.
HEAD - работает аналогично GET, но получает в ответ только заголовки без тела ответа.
PATCH - запрос на частичное изменение ресурса.
OPTIONS - используется для описания параметров соединения с ресурсом.

Разница между синхронными и не синхронными функциями.
Синхронные функции являются блокирующими, а асинхронные нет.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment