Вопрос №55562 от пользователя Дмитрий Епихин в уроке «Конфигурация», курс «JS: Объектно-ориентированный дизайн»

Дмитрий Епихин

Вопросы по теории:

const md = new Markdown();
// очень важно, чтобы render оставался чистой функцией и не сохранял markdown внутри объекта
const html1 = md.render(markdown1);
const html2 = md.render(markdown2);

// Правильно ли я понял, что в данном случае класс Markdown не имеет отношения к данным
// и является просто набором методов для работы с текстом в формате markdown?

const md = new Markdown({ sanitize: true });
const html1 = md.render(markdown1);
const html2 = md.render(markdown2);


// Правильно ли я понял, что наш класс изнутри должен выглядеть таким образом?
function Markdown(options) {
  this.options = options;
  render(text) {
    return markdownToHtml(text, this.options);
  },
}
1 1

Maksim Litvinov

  1. Да, вы правильно поняли. Объект используется здесь только для хранения конфигурации, а не самого текста.
  2. Схематично можно изобразить устройство этого класса так. Только обычно есть еще дефолтные опции, которые используются, если в конструктор не было ничего передано. Такой пример вы рассмотрите в упражнении к этому уроку
3

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
18 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
18 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
18 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
18 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
18 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
18 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
18 мая 5 месяцев