Oi Felipe, tudo bem? Diferença prática não. Visto que você pode acessar o _texto de em qualquer uma das implementações.
Acontece que no primeiro caso, você está usando recursos de GET e SET da ES6 que permitem a leitura e alteração do atributo. Existe algo semelhante no ruby por exemplo. Onde um reader pode ser criado dessa forma: attr_reader :texto
As diferenças reais estão nas convenções que você deve seguir, principalmente no JavaScript que não tem muitos recursos de visibilidade de atributos (pela própria linguagem). É ai onde mora o perigo.
No mais, recomendo fortemente sempre usar o primeiro exemplo, por que nem sempre você vai precisar dos dois métodos.