Łańcuchy szablonowe

ES6 pozwana na definiowanie łańcuchów w nowy sposób - przy użyciu odwróconego apostrofu ` . W przeciwieństwie do łańcuchów defniniowanych przy użyciu apostrofów ' oraz cudzysłowów " te zdefiniowane przez odwrócone apostrofy ` mogą mieć wiele linii. Ponadto wszystkie białe znaki oraz nowe linie są odwzorowywane jeden do jeden.

Przykład 6.1
let template1 = `<p>Hello World!</p>`;

let tempalte2 = `
    <p>
        Hello World!
    </p>
`;

console.log(template1);
// -> '<p>Hello World!</p>'

console.log(tempalte2);
// -> 
// ->  <p>
// ->   Hello World!
// ->  </p>

Kolejną nową cechą łańcuchów szablonowych jest możliwość skorzystania z interpolacji łańcuchów. Pozwala to na wstawianie wartości JavaScript do łańcuchów.

Przykład 6.2
function greet (name, city, age) {
    return `Hello, I am ${name} from ${city} and ${age} year old.`;
}

console.log(greet ('John Doe', 'Gdańsk', 26));
// -> 'Hello, I am John Doe from Gdańsk and 26 year old.'

Używając składni ${} możemy wstawić do łańcucha dowolną wartość JavaScript, również wywołanie funkcji czy też kolejny łańcuch szablonowy. Wartości JavaScript umieszczone wewnątrz znaczników ${} są automatycznie rzutowane na łańcuch.


Ćwiczenie

(6.1) Popraw funkcję greet z ćwiczenia 5.1 tak aby wykorzystywała łańcuchy szablonowe.


Źródła

results matching ""

    No results matching ""