Lekcje modułu (1/4)
Łańcuchy znaków i szablony literalne
Stringi (łańcuchy znaków) to sekwencje znaków. W JavaScript można je ograniczać na trzy sposoby, wszystkie równoważne dla silnika – ale backticki mają supermoc:
'apici singoli';
'apici doppi';
`backtick — i template literal`;Pojedyncze i podwójne cudzysłowy są wymienne: użyj tego, który pozwoli Ci uniknąć konieczności stosowania znaków ucieczki w tekście zawierającym ten drugi znak:
'L\'isola'; // l'apostrofo richiede escape
"L'isola"; // qui no
"Lui disse \"ciao\"";
'Lui disse "ciao"';Znaki ucieczki (escape characters)
Wewnątrz dowolnego stringa możesz wstawić znaki "niedrukowalne" za pomocą ukośnika odwrotnego (backslash):
\n— a capo\t— tabulazione\\— una backslash letterale\'/\"— apice singolo / doppio letterale
console.log('riga 1\nriga 2');
// riga 1
// riga 2Template literal: składnia, której chcesz używać domyślnie
Backticki odblokowują dwie rzeczy niemożliwe przy innych ogranicznikach:
- Stringi wielolinijkowe bez znaków ucieczki: dosłowne przejścia do nowej linii są dozwolone.
- Interpolacja: wewnątrz
${ … }możesz wstawić dowolne wyrażenie JS, a jego wartość zostanie wklejona w wynik.
const nome = 'Anna';
const eta = 28;
const messaggio = `Ciao ${nome}, hai ${eta} anni.
Fra un anno ne avrai ${eta + 1}.`;Wyrażenie wewnątrz ${ … } nie musi być prostą nazwą zmiennej: może to być
cokolwiek, co produkuje wartość, w tym wywołania funkcji i operatory.
Konkatenacja za pomocą +
Historycznie stringi łączono za pomocą +. To nadal działa i jest przydatne
w rzadkich przypadkach (np. budowanie stringa w kilku krokach):
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'Spróbuj sam
Mając zmienne `name = 'Luca'` i `age = 30`, utwórz za pomocą template literal string 'Luca ha 30 anni.' (dokładnie ten tekst) jako ostatnie wyrażenie.
Pokaż wskazówkę
Użyj backticków i interpolacji ${...}, aby wstawić wartości do stringa.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Mając dwie ceny `p1 = 7.5` i `p2 = 3.20`, jako ostatnie wyrażenie zwróć string 'Totale: 10.7 euro'.
Pokaż wskazówkę
Wewnątrz ${...} możesz umieścić dowolne wyrażenie, nawet p1 + p2.
Rozwiązanie dostępne po 3 próbach