That being said identifying synergies could be helpful - for example:
- Go after functional, sequential Elixir first to keep things simple - with something like Learn Functional Programming with Elixir.
- Reinforce the functional concepts being learned with either Bucklescript or ReasonML (if you have an affinity for React you’ll likely gravitate towards ReasonReact; both can be used within the JS ecosystem and introduce you to the benefits of strong static typing. And even if you can’t use them directly they will likely improve your JS development style).
I think it’s probably easier to grasp the basic functional concepts with Elixir as it isn’t explicitly typed. And once you understand these concepts, Bucklescript or ReasonML are a great way to get also into static typing that can be applied to the JS ecosystem (in my opinion superior to TypeScript and Flow). Meanwhile having already learned sequential programming in Elixir, you’ll be prepared to move into (and focus on) concurrent programming which will require another shift in thinking.
The idea is that your exploration can always be structured to fortify your existing skillset while at the same time bridges into the other paradigms are built.