day1 Flashcards

(15 cards)

1
Q

Чи підлягає function declaration hoisting’у?

A

Так, повністю. Можна викликати до її оголошення.

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

Чи підлягає function expression hoisting’у?

A

Ні. Змінна створюється, але значення буде undefined до ініціалізації.

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

Чи має arrow function власний this?

A

Ні. Вона лексично захоплює this з контексту, де була оголошена.

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

Як function expression визначає this?

A

Динамічно — залежить від способу виклику (наприклад, через обʼєкт або глобально).

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

Чи працює call з arrow function?

A

Ні, контекст не змінюється, оскільки arrow function ігнорує call/bind/apply.

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

Чи можна використовувати arrow function як метод обʼєкта, якщо потрібен this?

A

Ні. Arrow function не має власного this, тому не слід її використовувати як метод.

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

Що робить .call()?

A

Викликає функцію одразу з переданим контекстом (this) і аргументами.

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

Що робить .bind()?

A

Створює нову функцію з фіксованим контекстом this.

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

Як працює this у function всередині setTimeout?

A

this буде undefined (в strict mode) або window (в sloppy mode).

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

Як зберегти правильний this у setTimeout?

A

Використати arrow-функцію або .bind(this).

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

Що означає, що arrow function “лексично захоплює this”?

A

Вона бере this з місця, де була створена, а не де викликана.

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

Яка різниця між function declaration і expression щодо hoisting?

A

Declaration піднімається цілком, а expression — ні (тільки оголошення змінної).

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

Як реалізувати простий customBind?

A

Повернути нову функцію, яка викликає оригінальну з .call(context).

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

Чи можна викликати функцію без втрати контексту після збереження її у змінну?

A

Так, якщо використати bind або вручну викликати через call/apply.

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

Що буде, якщо викликати arrow-функцію з .call(obj)?

A

Контекст не зміниться — this залишиться таким, яким був у момент оголошення.

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