
Вот именно такой вопрос был задан в первом же комментарии к статье «DI-контейнер на чистом JavaScript без TypeScript и reflect-metadata» уважаемого @alexander_kubarski. Я когда-то и сам на Хабре отвечал на этот вопрос («Зачем нужно внедрение зависимостей в JS«), и уважаемый @Wroud тоже («Dependency Injection в JavaScript: зачем он вам нужен«), но непонимание места и значения DI у JS-разработчиков всё равно присутствует. Попробую ответить на этот вопрос ещё раз:
Внедрение зависимостей помогает снизить стоимость верификации сложного приложения. Оно отделяет компонент от выбора конкретного окружения и позволяет проверять его относительно явных ожиданий, не поднимая каждый раз весь граф реальных зависимостей.
Именно для этого используют Inversion of Control в целом и Dependency Injection в частности — во всех языках программирования, а не только в JavaScript.