Sono in una situazione simile, vengo su javascript dal mondo C #. Sono ancora un noob con javascript, ma posso condividere parte della mia esperienza personale con te.
Prima di tutto ecco un link da qualcuno con più conoscenze di me, che indirizza in modo specifico la tua domanda:
"JavaScript Jump Start per programmatori C ++" link
Le tue conoscenze ti aiuteranno a capire Javascript più velocemente, ma fai attenzione, sono lingue molto diverse e alcune delle cose a cui sei abituato potrebbero diventare caveat.
Ecco alcune cose che mi hanno fatto soffrire fino ad ora:
Javascript è tipizzato dinamicamente, non tipizzato staticamente.
Per questo motivo, i refusi nei nomi delle proprietà sono diventati un problema per me ...
E a volte devi usare il debugger per vedere se stai usando le proprietà giuste dai parametri.
È interpretato, non compilato.
Ciò significa che troverai molti degli errori solo in fase di esecuzione.
E potrebbe accadere che il tuo codice venga eseguito solo parzialmente quando si verifica un errore.
Stai molto attento quando usi la parola chiave "this", non si comporta come sei abituato. Ecco un articolo che descrive in dettaglio: link
C'è anche molta estraneità nei confronti dei valori "falsy" e "truthy" (vedi questo: link ).
Questo è un grande argomento, e sono sicuro che la risposta non è completa, quindi invito altri a modificarlo.