Olá Camila, tudo bem?
O underline como prefixo é apenas um acordo da comunidade, mas creio que não é nada formalizado.
Ele é usado apenas como uma maneira rápida e fácil de identificar que tal propriedade é privada, assim você não precisa ficar caçando no código onde ela foi declarada pra saber se ela é privada ou não.
Ao utilizar uma propriedade que foi declarada com o underline, sem o underline ocasionará um erro, já que o JavaScript considera o underline e o cifrão como caracteres comuns, fazendo com que eles façam parte do nome da propriedade.
Existem algumas discussões relacionadas à isso, como você pode ver:
Javascript Identifiers
Underscore prefix for property and method names in JavaScript
Espero que tenha esclarecido.
Bons estudos. =)