A useful way to understand JavaScript is to separate the goal, the input, the model or tool, and the way the output is evaluated.
One important area is quality versus speed. Define what a good result looks like before changing tools or settings, then test one variable at a time so you can tell...