Probably, yeah. C++ has some quirks that you’ll need to get familiar with, however if you already know the core concepts of programming, I don’t see learning both juce and c++ at the same time as being a problem. I can whole heartedly recommend https://www.programmingformusicians.com/ if you think a mentored experience could be useful to you. That really expedited the process for me coming from nothing but basic scripting.
I think learning JUCE along C++ is really the best way if you want to use JUCE in the future. Avoiding the STL containers and using the JUCE ones is less quirky if you come from JS.
I agree with the above said, except I prefer the STL containers, because they are universal and more future proof.
And sometimes JUCE ditches their own helpers (that were often born because the standard didn’t have them yet) like e.g. ScopedPointer, which was removed and had to be replaced by std::unique_ptr. So using as much standard ones can save hassle in the future.
But it’s totally personal preference, the JUCE ones are often a bit simpler to use.
what daniel said. also i think it’s cool that you can read a lot of other people’s code on the internet the more you just learn normal c++ and its stl, especially from people who don’t use juce. for example it’s good to know that juce has it’s own “Array” and to know a bit how it works, but only if you know std::vector, std::array and the oldschool ways of making arrays with float* you can read all the code on the internet about buffers and stuff