Вопрос не в этом, просто @Baxxterkhv говорит, что вообще не возможно создать "чистые функции" в js, но доказательства пока не привел. То что он показал - не является доказательством, так как довольно просто опровергается
я утрировал, но поинт был в том, что как правило в js написать истинно чистую функцию:
во-первых - очень сложно и накладывает кучу ограничений (вы можете передавать в атрибуты только примитивные типы, потому что например массив с патченым прототипом или обьекты в теории могут вызвать сайд-эффект или сделать результат неконсистентным, все эти примитивы нужно будет проверить через typeof, нельзя будет использовать ничего из лексического или глобального скопа функции и еще учесть все нюансы оптимизации разных движков после компиляции в байткод)
во-вторых - нет необходимости, достаточно "условно чистой" функции, которая будет предсказуемо себя вести в рамках соглашений, выполняемых в проекте, и легко тестироваться