Встречается на собеседованиях • сегодня
В чем разница между Subject, BehaviorSubject и ReplaySubject
`Subject` - это простой Observable, который не хранит предыдущие значения. Подписчики получают только те значения, которые были отправлены после подписки.
```typescript
const subject = new Subject();
subject.next(1);
subject.subscribe(console.log); // Не получит 1
subject.next(2); // Выведет 2
```
`BehaviorSubject` хранит последнее отправленное значение. Новые подписчики сразу получают это значение. Требует начального значения.
```typescript
const behavior = new BehaviorSubject (0);
behavior.next(1);
behavior.subscribe(console.log); // Выведет 1 сразу
behavior.next(2); // Выведет 2
```
`ReplaySubject` хранит указанное количество предыдущих значений (буфер) и отправляет их новым подписчикам.
```typescript
const replay = new ReplaySubject(2);
replay.next(1);
replay.next(2);
replay.next(3);
replay.subscribe(console.log); // Выведет 2, 3 сразу
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы