Геттер и сеттер полного имени
Условие
createPerson(first, last) возвращает объект с полями firstName, lastName и свойством fullName: чтение собирает имя из двух полей, запись строки вида «Имя Фамилия» раскладывает её обратно. Фамилия может отсутствовать - тогда она пустая.
Что проверяют тесты
чтение
запись раскладывает
без фамилии
лишние пробелы
нет бесконечной рекурсии
Как подойти
В исходном решении из сборника в сеттере стояло this.fullName = first - это рекурсивный вызов самого сеттера и мгновенное переполнение стека. Ловушка настолько типичная, что её стоит держать в голове как отдельное правило: аксессор никогда не пишет в своё же имя. Деструктуризация с значением по умолчанию закрывает случай без фамилии, trim и split по /\s+/ - лишние пробелы.
Подсказки: 3
- Сеттер должен писать в firstName и lastName, а не в fullName.
- Присваивание this.fullName внутри сеттера fullName вызовет сам сеттер.
- Разделять надо по любому числу пробелов.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.