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

Oo11o

В этом коде класс Markdown — тип, относящийся к транслятору, а не к тексту. ... . Он может (и должен) переиспользоваться столько раз, сколько потребуется. Для этого важно оставить функцию render() чистой и не менять состояние объекта между вызовами.

Непонятно, что такое состояние объекта в целом. Можно ли на пример показать, как поменять состояние объекта Markdown между вызовами (что не стоит делать) ?

1 0

Maksim Litvinov

Чуть ниже есть пример с конфигурацией объекта:

const md = new Markdown({ sanitize: true });

При создании нового объекта конфигурация записывается в свойство объекта - это и есть состояние объекта: текущее значение его свойств. Важно, чтобы вызов render() никак не менял значение свойства объекта:

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

Например, если первый вызов md.render(markdown1) изменит конфигурацию, то следующий вызов отработает уже иначе

0

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

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

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

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

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

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

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