В эту функцию, например, мне нужно передавать обязательное поле userId и опциональные поля message, key. Если поля message и key не указаны, то при обращении к ним в функции будет возвращен undefined. Через интерфейсы долго, ибо в них нужно заполнить все поля без исключений, да и выглядит колхозно. Так вот, как это можно нормально реализовать наподобие интерфейсов, ведь параметры, которые я буду передавать в эту функцию, будут использоваться в нескольких других?