Menu

Komentarze w JavaScript: jednoliniowe, blokowe i kiedy ich używać

Jak działają komentarze w JavaScript: // dla pojedynczych linii, /* */ dla bloków i nawyki, dzięki którym komentarze są przydatne, a nie są szumem.

Na tej stronie są działające edytory: edytuj, uruchamiaj i od razu zobacz wynik.

Dwa rodzaje komentarzy

JavaScript ma dwie składnie komentarzy. Komentarz jednoliniowy zaczyna się od // i trwa do końca linii:

Komentarz blokowy zaczyna się od /* i kończy na najbliższym */. Może zajmować tyle linii, ile chcesz:

Silnik JavaScript całkowicie ignoruje obie formy. Istnieją dla ludzi: dla ciebie, dla twojego zespołu i dla ciebie za pół roku, gdy wrócisz do tego kodu.

Komentarze jednoliniowe

// to forma, której będziesz używać najczęściej. Wszystko w tej samej linii za // jest komentarzem, a następna linia znowu jest kodem:

Komentarze na końcu linii (za instrukcją) są w porządku przy krótkich notatkach. Jeśli notatka robi się na tyle długa, że się zawija, przenieś ją do osobnej linii nad kodem: długie komentarze końcowe edytory ucinają, a czytelnicy ignorują.

Komentarze blokowe

Po /* */ warto sięgać w dwóch przypadkach: gdy komentarz potrzebuje więcej niż jednej linii i gdy stoi w środku wyrażenia.

Jedna pułapka: komentarze blokowe się nie zagnieżdżają. Pierwsze */ kończy komentarz, nawet jeśli wydaje ci się, że wciąż jesteś w zewnętrznym:

/* outer /* inner */ still outer */
// SyntaxError - the first */ closed the block,
// and "still outer */" is now invalid code.

Jeśli musisz zakomentować kod, który już zawiera /* */, użyj zamiast tego // w każdej linii.

Zakomentowywanie kodu

Podczas debugowania często chcesz tymczasowo wyłączyć kilka linii. Działają obie formy komentarzy:

Każdy edytor ma do tego skrót: Ctrl+/ na Windows/Linux, Cmd+/ na Macu. Przełącza on // w zaznaczonych liniach. Naucz się go raz, a będziesz go używać codziennie.

Zakomentowany kod ma być tymczasowy. Nie commituj cmentarzysk martwego kodu z dopiskiem // old version, keep just in case nad nimi. System kontroli wersji pamięta stary kod za ciebie. Usuń go.

Komentuj dlaczego, a nie co

To jedyna reguła, która oddziela przydatne komentarze od szumu. Kod już pokazuje, co robi. Dobry komentarz wyjaśnia, dlaczego.

Szum:

Te komentarze nie mówią czytelnikowi niczego, czego kod już nie powiedział. Porównaj:

Oba komentarze odwołują się do czegoś, czego czytelnik nie wywnioskuje z samego kodu: zewnętrznego ograniczenia, udokumentowanego dziwactwa. To jest poprzeczka. Jeśli po usunięciu komentarza nikt nie byłby zdezorientowany, komentarz nie był wart swojego miejsca.

JSDoc: komentarze czytane przez narzędzia

JSDoc to konwencja pisania komentarzy blokowych, które w ustrukturyzowany sposób opisują funkcje. Edytory i narzędzia do sprawdzania typów je czytają i dają ci lepsze autouzupełnianie i dokumentację po najechaniu kursorem:

To otwarcie /** (dwie gwiazdki) oznacza JSDoc, a nie zwykły komentarz blokowy. Nie potrzebujesz JSDoc przy każdej funkcji: najbardziej opłaca się przy publicznych API, współdzielonych narzędziach i wszędzie tam, gdzie typy nie są oczywiste z samego kodu.

Kilka nawyków, które warto zachować

  • Trzymaj komentarze blisko kodu, który opisują. Komentarz dziesięć linii nad właściwą linią łatwo rozjeżdża się z kodem, gdy ten się zmienia.
  • Aktualizuj komentarze, gdy zmieniasz kod. Nieaktualny komentarz jest gorszy niż żaden: aktywnie okłamuje następnego czytelnika.
  • Wybieraj lepsze nazwy zamiast większej liczby komentarzy. const d = 86400000; potrzebuje komentarza. const MILLISECONDS_PER_DAY = 86_400_000; nie.
  • Oznaczaj tymczasowe problemy przez TODO: albo FIXME:. Większość edytorów je podświetla i łatwo później je wyszukać grepem.

Uwaga o komentarzach HTML i JavaScript

Jeśli piszesz JavaScript w pliku HTML, nie myl tych dwóch stylów komentarzy. HTML używa <!-- -->, a JavaScript // i /* */. Wewnątrz znacznika <script> działają tylko formy z JavaScriptu:

<script>
    // Dobrze: komentarz JS wewnątrz <script>
    /* Też dobrze */
    <!-- Źle: to komentarz HTML, który zepsuje twój JS -->
    console.log("cześć");
</script>

Przeglądarki historycznie tolerowały <!-- --> w skryptach z powodu bardzo starych przeglądarek, ale traktuj to jako błąd i idź dalej.

Dalej: deklarowanie zmiennych

Skoro umiesz już opisywać kod, czas go pisać. JavaScript ma trzy sposoby deklarowania zmiennej: let, const i var, a wybór właściwego to pierwsza prawdziwa decyzja, którą podejmujesz przy każdej linii. O tym jest następna strona.

Najczęściej zadawane pytania

Jak napisać komentarz w JavaScript?

Użyj // do komentarza jednoliniowego: wszystko za nim w tej linii jest ignorowane. Użyj /* ... */ do komentarza blokowego, który może zajmować wiele linii. Oba działają w dowolnym miejscu pliku .js i w znacznikach <script> w HTML.

Czym różni się // od /* */ w JavaScript?

// działa do końca bieżącej linii i tam się kończy. /* */ zaczyna się od /* i kończy na najbliższym */, więc może obejmować kilka linii albo stać w środku wyrażenia. Używaj // do krótkich notatek, a /* */, gdy potrzebujesz więcej niż jednej linii albo chcesz opisać fragment wyrażenia.

Jak zakomentować blok kodu w JavaScript?

Owiń go w /* */ albo poprzedź każdą linię przez //. Większość edytorów ma skrót: Ctrl+/ (Cmd+/ na Macu) przełącza komentarze // w zaznaczonych liniach. Unikaj zagnieżdżania /* */ w innym /* */: pierwsze */ zamyka zewnętrzny komentarz i dostaniesz błąd składni.

Kiedy warto pisać komentarz?

Komentuj dlaczego, a nie co. Jeśli kod robi coś nieoczywistego (obejście problemu, regułę biznesową, sztuczkę wydajnościową), wyjaśnij dlaczego. Nie opowiadaj tego, co kod już mówi. Dobrze nazwana zmienna albo funkcja eliminuje potrzebę większości komentarzy.

Ilustracja języków programowania w Coddy

Ucz się programowania z Coddy

ZACZNIJ