TypeScript - sequĂȘncia multilinha
Neste artigo, veremos como criar seqĂŒĂȘncias de vĂĄrias linhas no TypeScript. Existem algumas maneiras de fazer isso:
- modelos literais (template literals) - introduzido em ECMAScript 2015 (ES6);
- somas de string;
- barra invertida no final da linha - essa abordagem nĂŁo faz parte do padrĂŁo.
Essa abordagem foi introduzida no i ES6, suportada pelo TypeScript.
A principal desvantagem dessa abordagem são os prefixos de espaço em branco para cada linha, se quisermos formatar o código claramente.
xxxxxxxxxx
let text = `Line 1;
Line 2;
Line 3;
Line 4;
Line 5;`;
â
console.log(text);
Resultado:
xxxxxxxxxx
Line 1;
Line 2;
Line 3;
Line 4;
Line 5;
Essa abordagem resolve o problema dos prefixos de caracteres em branco para o código-fonte formatado, mas introduz algumas complicaçÔes sobre a classificação de caracteres " e + .
xxxxxxxxxx
let text = 'Line 1;' +
'Line 2;' +
'Line 3;' +
'Line 4;' +
'Line 5;';
â
console.log(text);
Resultado:
xxxxxxxxxx
Line 1;Line 2;Line 3;Line 4;Line 5;
Essa abordagem Ă© muito semelhante aos modelos literais (template literals)
e apresenta um problema ao cuidar do caractere \
no final das linhas.
Nota: esse recurso não faz parte do padrão ECMAScript, portanto, quando o código-fonte é transpilado, devemos ter certeza de que ele também é transpilado para código seguro.
xxxxxxxxxx
let text = 'Line 1;\
Line 2;\
Line 3;\
Line 4;\
Line 5;';
â
console.log(text);
Resultado:
xxxxxxxxxx
Line 1;Line 2;Line 3;Line 4;Line 5;
Essa abordagem Ă© mais como uma trapaça para obter o efeito de seqĂŒĂȘncia de linhas mĂșltiplas.
xxxxxxxxxx
let array: Array<string> = [
'This',
'is',
'multiline',
'text.'
];
â
console.log(array.join('\n'));
Resultado:
xxxxxxxxxx
This
is
multiline
text.