Przejdź do głównej treści
eLearner.app
Moduł 2 · Lekcja 1 z 45/32 w kursie~8 min
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:

JS
'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:

JS
'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
JS
console.log('riga 1\nriga 2');
// riga 1
// riga 2

Template literal: składnia, której chcesz używać domyślnie

Backticki odblokowują dwie rzeczy niemożliwe przy innych ogranicznikach:

  1. Stringi wielolinijkowe bez znaków ucieczki: dosłowne przejścia do nowej linii są dozwolone.
  2. Interpolacja: wewnątrz ${ … } możesz wstawić dowolne wyrażenie JS, a jego wartość zostanie wklejona w wynik.
JS
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):

JS
const a = 'Ciao';
const b = 'mondo';
a + ', ' + b + '!'; // 'Ciao, mondo!'

Spróbuj sam

Ćwiczenie#js.m2.l1.e1
Próby: 0Ładowanie...

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.

Ładowanie edytora...
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

Ćwiczenie#js.m2.l1.e2
Próby: 0Ładowanie...

Mając dwie ceny `p1 = 7.5` i `p2 = 3.20`, jako ostatnie wyrażenie zwróć string 'Totale: 10.7 euro'.

Ładowanie edytora...
Pokaż wskazówkę

Wewnątrz ${...} możesz umieścić dowolne wyrażenie, nawet p1 + p2.

Rozwiązanie dostępne po 3 próbach