0Pricing
jQuery Academy · Lekcja

Współistnienie ze składnią ES6+

Proszę poznać sposoby pisania kodu jQuery obok nowoczesnych funkcji JavaScript, takich jak funkcje strzałkowe, const/let i literały szablonowe, bez konfliktów.

Współistnienie ze składnią ES6+ to bezpłatna lekcja jQuery Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej jQuery Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs jQuery Academy zawiera 3 lekcji w sumie.

jQuery i nowoczesny JavaScript

Witaj w lekcji poświęconej łączeniu jQuery z nowoczesnym JavaScript ES6+! Nauczysz się łączyć ich zalety, aby pisać przejrzysty, wydajny i łatwy w utrzymaniu kod.

Dlaczego nowoczesny JavaScript?

ES6+ (ECMAScript 2015 i nowsze wersje) wprowadza zaawansowane funkcje, takie jak const, let, funkcje strzałkowe i literały szablonowe.

  • Poprawiają czytelność i zwięzłość kodu.
  • Oferują nowe sposoby rozwiązywania typowych problemów programistycznych.
  • Ich integracja z jQuery usprawnia proces tworzenia aplikacji.

`const` i `let` dla zmiennych

Zamiast var używaj const dla zmiennych, którym nie zostanie przypisana nowa wartość (na przykład dla wyboru elementu jQuery), oraz let dla zmiennych, które mogą się zmieniać. Zapobiega to przypadkowemu ponownemu przypisaniu wartości i poprawia przejrzystość kodu.

Spróbuj kliknąć przycisk:

// Assume HTML: <div id="output"></div><button id="myBtn">Click Me</button>
const $outputDiv = $('#output');
const $myButton = $('#myBtn');

let counter = 0;

$myButton.on('click', () => {
  counter++;
  $outputDiv.text(`Button clicked ${counter} times.`);
});

Funkcje strzałkowe w funkcjach zwrotnych

Funkcje strzałkowe zapewniają zwięzłą składnię funkcji zwrotnych i automatycznie wiążą this z otaczającym kontekstem leksykalnym. Jest to często przydatne, gdy nie potrzebujesz, aby this wskazywało sam element DOM.

Zwróć uwagę, jak łatwo można uzyskać dostęp do appName:

// Assume HTML: <button id="greetBtn">Greet</button><div id="greeting"></div>
const $greetButton = $('#greetBtn');
const $greetingDiv = $('#greeting');

const appName = "CoddyKit App";

$greetButton.on('click', () => {
  // 'this' here refers to the surrounding context (window), not the button
  $greetingDiv.text(`Hello from ${appName}!`);
});

Literały szablonowe dla HTML

Literały szablonowe (używające odwrotnych apostrofów ` `) znacznie ułatwiają tworzenie dynamicznych ciągów znaków, szczególnie podczas wstawiania zmiennych lub treści wielowierszowych, w porównaniu z tradycyjnym łączeniem ciągów.

Zobacz, jak łatwo tworzyć dynamiczny kod HTML:

// Assume HTML: <ul id="items"></ul>
const $itemsList = $('#items');
const userName = "Alice";
const itemCount = 3;

const listItemHtml = `
  <li>
    <b>User:</b> ${userName}
    <br>
    Items: ${itemCount}
  </li>
`;

$itemsList.append(listItemHtml);

Destrukturyzacja obiektów zdarzeń

Podczas obsługi zdarzeń obiekt zdarzenia zawiera wiele właściwości. Destrukturyzacja ES6 pozwala wyodrębnić tylko potrzebne właściwości bezpośrednio na liście parametrów funkcji, dzięki czemu kod jest bardziej przejrzysty.

Kliknij, aby zobaczyć szczegóły zdarzenia:

// Assume HTML: <button id="eventBtn">Log Target</button><div id="eventOutput"></div>
const $eventButton = $('#eventBtn');
const $eventOutput = $('#eventOutput');

$eventButton.on('click', ({ target, type }) => {
  // Destructured 'target' and 'type' from the event object
  $eventOutput.text(`Event: ${type}, Target ID: ${target.id}`);
});

Ostrożnie z `this` i funkcjami strzałkowymi

Funkcje strzałkowe są bardzo przydatne, ale należy pamiętać, że nie mają własnego kontekstu this. Jeśli potrzebuje Pan/Pani, aby this wskazywało element DOM, który wywołał zdarzenie, w wywołaniach zwrotnych jQuery nadal trzeba użyć zwykłej funkcji.

Proszę obserwować wynik po kliknięciu różnych przycisków:

// Assume HTML: <button class="colorBtn" id="red">Red</button><button class="colorBtn" id="blue">Blue</button><div id="log"></div>
const $colorButtons = $('.colorBtn');
const $logDiv = $('#log');

$colorButtons.on('click', function() {
  // 'this' here refers to the clicked button element
  $logDiv.text(`Clicked button with ID: ${this.id}`);
});

// An arrow function here would bind 'this' to the global window

`$.noConflict()` na potrzeby współistnienia

Jeśli używa Pan/Pani innych bibliotek JavaScript, które również korzystają z symbolu $, metoda jQuery $.noConflict() ma kluczowe znaczenie. Zwalnia ona identyfikator $, umożliwiając korzystanie zamiast niego z jQuery i zapobiegając konfliktom.

// Assume another library uses '$'
// jQuery is loaded first
$.noConflict();

// Now, '$' is free for another library
// Use 'jQuery' for jQuery methods
jQuery(document).ready(() => {
  jQuery('#status').text('jQuery is active with noConflict!');
});
// Assume HTML: <div id="status"></div>

Najlepsze praktyki integracji

Aby skutecznie integrować jQuery z nowoczesnym JS:

  • Spójne deklaracje: Należy konsekwentnie używać const i let.
  • Funkcje strzałkowe stosowane celowo: Funkcji strzałkowych należy używać w wywołaniach zwrotnych, gdy kontekst this nie jest elementem DOM.
  • Literały szablonowe: Warto używać ich do tworzenia dynamicznego kodu HTML lub ciągów znaków.
  • Hermetyzacja jQuery: Logikę zależną od jQuery należy grupować i oddzielać od funkcji narzędziowych czystego ES6+.

Szybkie sprawdzenie: ES6+ i jQuery

Które z poniższych funkcji ES6+ można skutecznie stosować z jQuery, aby pisać bardziej przejrzysty i nowoczesny kod?

Podsumowanie: modernizacja jQuery

Nauczył się Pan/Nauczyła się Pani, jak płynnie łączyć z jQuery funkcje ES6+, takie jak const/let, funkcje strzałkowe, literały szablonowe i destrukturyzacja.

Takie podejście pozwala pisać bardziej zwięzły, czytelny i łatwiejszy w utrzymaniu kod JavaScript, jednocześnie korzystając z zaawansowanych możliwości jQuery w zakresie manipulowania DOM. Proszę dalej ćwiczyć, aby opanować to potężne połączenie!

Często zadawane pytania

Czy lekcja „Współistnienie ze składnią ES6+” jest bezpłatna?

Tak — pełny tekst „Współistnienie ze składnią ES6+” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu jQuery Academy, przejdź na CoddyKit PRO. Kurs jQuery Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Współistnienie ze składnią ES6+”?

Proszę poznać sposoby pisania kodu jQuery obok nowoczesnych funkcji JavaScript, takich jak funkcje strzałkowe, const/let i literały szablonowe, bez konfliktów. Ćwiczysz jQuery Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć jQuery Academy?

Nie wymagamy żadnego doświadczenia. jQuery Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.

Ile czasu zajmuje lekcja „Współistnienie ze składnią ES6+”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji jQuery Academy?

Tak. Każda lekcja jQuery Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Współistnienie ze składnią ES6+
  2. jQuery w środowiskach modułowych
  3. Łączenie jQuery z nowoczesnymi frameworkami
← Powrót do jQuery Academy