Eu acredito que esse é o maior desafio para todos os iniciantes, é algo extremamente simples de ser pensado, mas simplesmente não vem a mente essa abordagem, eu particularmente agradeço por esse seu comentário, me lembra de ter que fazer isso, e não apenas os "desafios" dos cursos ou aplicações com funções aprendidas com esses mesmos desafios.
Respondendo a "A melhor forma de saber como um martelo funcion..." dentro da publicação Como aprender Javascript Puro De Verdade?
1