
Recentemente, usei strings de modelo ES6 em meu projeto, que estão resumidas aqui.
1. Anteriormente, também podíamos usar JavaScript para gerar strings de modelo, geralmente da seguinte maneira:
$("#result").append(
"Ele é <b>"+person.name+"</b>"+"e desejamos saber sua"+person.age+".Isso é tudo"
); Mas podemos ver que essa abordagem tradicional requer o uso de muitos "" (aspas duplas) e + para juntá-los e obter o modelo que precisamos. Mas isso é muito inconveniente.
Portanto, o ES6 fornece strings de modelo, que são marcadas com ` (crase) e as variáveis são colocadas entre ${}. O exemplo acima pode ser escrito da seguinte forma usando strings de modelo:
$("#result").append(
`Ele é <b>${person.name}</b>e queremos saber sua${person.age}.isso é tudo`
); Essa abordagem é muito mais simples. Não precisamos mais usar muitos "" e + para unir strings e variáveis.
2. É claro que variáveis podem ser introduzidas na string do modelo e também é possível não usar variáveis. Como mostrado abaixo:
` Eu sou um homem.`
` Não importa o que você faça,
eu confio em você.`
3. Também podemos definir as variáveis primeiro e depois incorporar as variáveis na string do modelo:
var name="zzw";
` ${nome}, não importa o que você faça,
Eu confio em você.` 4. Obviamente, como o crase é o identificador da string do modelo, se precisarmos usar o crase na string, precisaremos escapá-lo, da seguinte forma:
`Não importa` o que você fizer,
Eu confio em você.`
5. Nota: Se você usar strings de modelo para representar strings multilinhas, todos os espaços e recuos serão salvos na saída! !
console.log( `Não importa` o que você faça, Eu confio em você.`);
A saída é a seguinte:

6. Você pode colocar qualquer expressão JavaScript entre chaves em ${}, realizar operações e referenciar propriedades de objetos.
var x=88; var y=100;
console.log
(`x=${++x},y=${x+y}`);
7. Ainda mais poderoso: a string do modelo também pode chamar funções:
function string(){
return "zzw gosta de es6!";
}
console.log(`O que você quer dizer? Bem, ${string()}`) ;

Além disso, se o resultado da função não for uma string, ele será convertido em uma string de acordo com as regras gerais:
function string(){
retornar 666;
}
console.log(`O que você quer dizer? Bem, ${string()}`) ;

Aqui, o número 666 é realmente convertido na string 666.
8. Se a variável em ${} não for nomeada, um erro será relatado:
console.log(`O que você quer dizer? Bem, ${string( )}`); No código acima, a função string() não é declarada, então um erro é relatado:

9. Na verdade, também podemos inserir uma string em ${}, e o resultado do conhecimento ainda retornará uma string:
console.log(`O que você quer dizer? Bem, ${"Na verdade, não sou uma variável ~"}`) ; O resultado é o seguinte:

10. Se você quiser fazer referência à string do modelo em si, você pode escrevê-la assim:
let str="return"+"`Hello! ${name}`";
deixe func=new Function("nome",str);
console.log(func("zzw")); Os resultados são os seguintes:
