I actually think learning new languages helps you a lot because every language has some details that makes them special. In the end it's more about patterns and paradigms. In my opinion you can learn that at best with new languages that are built for that patterns.
C, C++, Java are all imperative languages and C++ and Java are also object oriented. So I think you should learn about some functional patterns with JS, Scala , Haskell or Swift. There is no big gain in knowing all those languages in detail but it's very helpful to be able to read code written in it and to understand the main paradigms.
Beside that you should later focus on one language that is the best fit for the platform you would like to develop for. Here are some suggestions per platform/layer:
Web-Frontend: JS + some shiny framework like ReactJS
Mobile: Swift (iOS) / Kotlin (Android)
Backend: Go, PHP
Scripting/DevOps: Python
Machine Learning: Python
I actually can't say much about Rust because I had no time yet to dig deeper in it. But what I heard so far sounds really amazing, is definitely a great replacement for C++.
Marco Alka
Software Engineer, Technical Consultant & Mentor
You won't gain anything from learning things you don't need and don't use.
I don't think programming should be about learning language after language. Instead, you should try to actually solve problems. If a problem requires you to learn a new language, then you should learn it.
Though, I recommend watching JS and Rust, since JS has become pretty universal and Rust is a very stable language with lots and lots of important principles baked-in.