[DÚVIDA SOBRE REACT JS] O que é uma linguagem de template?

Estou estudando React JS, e enquanto lia alguns artigos sobre JSX me deparei com o termo "Linguagem de Template". Tenho uma noção do que se trata, mas gostaria de saber se estou certo disso, procurei e não encontrei nada sobre esse termo em específico, principalmente do que essa linguagem é no React JS. Alguém poderia me ajudar?

De forma bem resumida, uma linguagem de template permite que vc coloque placeholders, que podem ser substituídos por valores dinamicamente.

Muitas delas também suportam execução de código (condicionais, loops, etc), para no fim gerar um documento em algum formato.

O exemplo mais besta do mundo:

Oi {{nome}}

E aí de alguma forma (geralmente algum código) informa-se o que deve ser colocado no lugar do placeholder {{nome}}, e o texto final é gerado (ex: "Oi Fulano").


No caso do React, o JSX é a linguagem de template, pois tem essas características. Exemplo tirado da documentação:

<div style={person.theme}>
  <h1>{person.name}'s Todos</h1>

No caso, os placeholders person.theme e person.name serão trocados pelos respectivos valores do objeto person que for passado ao componente.

Em resumo, é isso. Existem inúmeras linguagens de templates, para várias linguagens de programação e frameworks, mas todos seguem o mesmo princípio.

Muito obrigado pela resposta, isso me ajuda bastante a compreender mais a fundo como as coisas funcionam =D
igualmente, o cara manda muito bem na explicação;
Muito boa a explicação, um otimo professor.

Fala, amigo!

Não saberia te dizer em detalhes, mas vou tentar te dar um norte:

Linguagens de template são como uma forma (molde), onde colocamos o conteúdo que queremos

Pense que tu tem uma variável e quer colocá-la em uma scring, provavelmente tu vai usar:

const idade = 20
const frase = `A idade da pessoa x é ${idade} anos`
console.log(frase)
// retorna: 'A idade da pessoa x é 20 anos'

Aí é só considerar que a string frase é um template, e a variável idade é o conteúdo, e normalmente é isso que chamamos as "Template Literals" dentro de js.

Agora, linguagens de template, te aconselho a estudar um pouco sobre algumas delas, começando por Handlebars, uma linguagem de template que te permite transformar código js em conteúdo dinâmico que pode ser formatado em um HTML, e se tu quiser, pode começar por aqui: PLayground do Handlebars.

Alguns outros frameworks, como o Django, utilizam linguagens de template "próprias", na documentação oficial eles explicam um pouco como funciona.

Espero ter ajudado um pouco, abraço!

Muito obrigado, eu não sei ainda como funcina à plataforma para contribuir com a resposta além de colocar "UP" com tabcoins, se houver alguma, além dessa, ficarei feliz em fazer.