Languages
[Edit]
PL

TypeScript - wielowierszowy string

3 points
Created by:
Sylwia
3590

W tym artykule przyjrzymy się, jak utworzyć wielowierszowe stringi w języku TypeScript. Mówiąc o wielowierszowości mamy tutaj na myśli zmienne tekstowe, które chciali byśmy porozbijać na wiele wierszy, aby były czytelniejsze dla programisty pracującego z kodem.

Można to zrobić na kilka sposobów:

  • template literals / template strings - wprowadzone w ECMAScript 2015 (ES6).
  • sumowanie stringów,
  • ukośnik wsteczny na końcu wiersza / backslash - ten sposób podejścia nie jest częścią standardu ECMAScript.

1. Przykład template literals

Ten sposób podejścia został wprowadzony w ES6 i jest on obsługiwany również przez TypeScript.

Główną wadą tego podejścia są przedrostki w postaci spacji lub innych białych znaków jeśli nowa linia nie zaczyna się od początku dla każdego wiersza - problem gdy chcemy ładnie sformatować kod. W poniższym przykładzie każdy wiersz zmiennej text zaczyna się od początku wiersza. Może to wyglądać brzydko w programie lecz dzieki temu problem nie wystąpi.

let text = `Line 1;
Line 2;
Line 3;
Line 4;
Line 5;`;

console.log(text);

Wynik:

Line 1;
Line 2;
Line 3;
Line 4;
Line 5;

2. Przykład sumowanie string-ów

To podejście rozwiązuje problem przedrostków powyższego przykładu, ale wprowadza pewne komplikacje związane z obowiązkiem dodawania na początku i końcu każdej lini apostrofów i znaku sumy.

let text = 'Line 1;' +
    'Line 2;' +
    'Line 3;' +
    'Line 4;' +
    'Line 5;';

console.log(text);

Wynik:

Line 1;Line 2;Line 3;Line 4;Line 5;

3. Przykład ukośnika wstecznego na końcu - backshash do przełamania lini

Takie podejście jest bardzo podobne do template literals, wadą jest to że trzeba pamiętać o dodawaniu znaku \ na końcu każdej linii.

Uwaga: ta funkcja nie jest częścią standardu ECMAScript, więc kiedy kod źródłowy jest transpilowany, powinniśmy być pewni, że \ zostanie zastąpiony z wspieranym rozwiązaniem w przeglądarkach.

let text = 'Line 1;\
Line 2;\
Line 3;\
Line 4;\
Line 5;';

console.log(text);

Wynik:

Line 1;Line 2;Line 3;Line 4;Line 5;

4. Array.join przykład metody:

To podejście jest bardziej jak trik (ang. trick), aby osiągnąć efekt wieloliniowy.

Uwaga: wadą tego podejścia jest to, że nasz tekst będzie transformowany do wersji czytelnej podczas wykynywania programu a nie na etapie parsowania czy transpilacji.

let array: Array<string> = [
    'This',
    'is',
    'multiline',
    'text.'
];

console.log(array.join('\n'));

Wynik:

This
is
multiline
text.

Bibliografia

  1. Template literals - MDN
  2. Ukośnik - Wikipedia
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

TypeScript (PL)

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join