JS Flashcards

1
Q

Что такое Promise?

A

Это объект типа Promise для удобного написания асинхронного кода

Представляющий результат успешного или неудачного завершения асинхронной операции (resolve ,reject)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Какие его преимущества у Promise перед callback(2)

A

1.Promise позволяет использовать методы then() и catch(), которые делают код более читаемым и легким для понимания.

  1. Promise позволяет избежать callback hell ( много вложенных callback-функций).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое Event Loop

A

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

У нас есть стэк
,webApi (timeout) и очередь задач

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое экмаскрипт?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Какие есть нововведения в последнем ES6 (5)

A
  1. let/const.
  2. Обратные кавычки ${smth} (шаблонные строки)
  3. Стрелочные функции
  4. Деструктуризация {name,age} = obj
  5. spred […arr1,…arr2]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Чем отличается slice от splice?

A
  1. slice обрезвает массив ,мы укзывает от и до куда и возварщает массив slice(от,до)
  2. splice изменяет текущий массив и благодаря ему мы можем удалить или заменить элементы splice(где,сколько)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

e.preventDefault и e.stopPropagentaion?

A

1 отменяет поведение по умолчанию
2 Всплытие

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Как работать с асинхронным кодом?

A

async await ( возвращает промис )

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Чем отличается function expression от function decloration?

A

expression - это просто обычная функция ,а decloration это функция которую мы присвоили к какой-то переменной

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое hosting ? (поднятие)

A

Это механизм ,который делает возможным использование функций до их объявления function

Или переменных объявленных через var

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Какие есть способы хранить информацию на стороне клиента?(3)

A
  1. localStorage
  2. sessionStorage
  3. cookie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Какие есть типы http запросов? (5)

A
  1. get
  2. post create smth
  3. put update smth
  4. patch update smth
  5. delete delete smth
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Разница между put и path ?

A

patch это частичное обновление например userName ,а put полное

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Что такое иммутабельность и мутабельность в js?

A

Если при использовании какого-то метода он изменяет к примеру массив ,то это мутабелбный метода

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Как не мутируя объект поместить туда еще 1 элемент?

A

Через спред , елм
[…arr,el]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что такое чистая и нечистая функция в js?

A

Чист ф - это функция без сайд-эффектов. т.е при одинаковых аргументах возвращают одинаковый результат
Чистая функция не мутирует к примеру массив, пример slice(чистая) и splice(нет)

17
Q

Микро и макро таски

A

promis - микротаска
setTimeout - макротаска
У промисо приоретеность выше,чем у setTimeOut

18
Q

Какие есть типы данных ?(8)

A

number, string, boolean, null, undefined, object и symbol,bigInt

19
Q

Как скопировать массив ?

A

JSON
Object assign

20
Q

Что такое скоуп ?

A

Это та область в которой будет доступна переменная
let var

21
Q

Как удалить Obj

A

let obj1 = {}
delete obj1

22
Q

Циклическая ссылка

A
23
Q

Сборщик мусора

A
24
Q

Headers в http запросах

A

content-type: application/json
Bearer token
метод запроса

25
Q

WebSocket

A
26
Q

Как сделать приватные поля в js

A

При помощи #

class MyClass {
#privateField;
}

27
Q

какие есть состояния у promise

A

ожидание (pending): начальное состояние, не исполнен и не отклонён.
исполнено (fulfilled): операция завершена успешно.
отклонено (rejected): операция завершена с ошибкой.

28
Q

Какие есть методы у Promise ?

A

resolve()
reject()
all()
race()

29
Q

Как написать точный таймер на Js

A

Запомнить дату старта и потом в интервале замерять дату и изменять дату между ними

30
Q

Рекурсия ,написать функцию которая принимает массив массивов с разной вложенностью и возвращает массив нормальный массив

A

return array.flat(Infinity);

31
Q

Есть некоторая строка (var str = ‘fgfggg’;), что будет, если мы возьмем str[0]?

A

Первый элемент строки

32
Q

Реализовать методы, которые в процессе выполнения строки (2).plus(3).minus(1) дали бы на выходе 4.

A

Number.prototype.plus = function (value) {
return this + value;
}

Number.prototype.minus = function (value) {
return this - value;
}