0Pricing
JavaScript Academy · Lekcja

Łańcuch prototypów i podstawy własnych właściwości

Podstawy łańcucha prototypów; rozróżnianie właściwości własnych i dziedziczonych; używanie Object.create i ustawianie prostych deskryptorów

Łańcuch prototypów i podstawy własnych właściwości to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 z 2. 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 JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Wprowadzenie do prototypów

Cel: Zobaczyć, jak obiekty dziedziczą właściwości za pośrednictwem łańcucha prototypów oraz jak rozróżniać klucze własne i odziedziczone.

  • Łańcuch prototypów
  • hasOwn a in
  • Object.create
  • Podstawowe deskryptory
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 1

Wyszukiwanie w prototypie

Jeśli klucz nie zostanie znaleziony w obiekcie, JavaScript sprawdza jego prototyp (np. Object.prototype).

// A simple object
const user = { name: "Ayla" };

// The prototype is another object used for fallback lookups
const proto = Object.getPrototypeOf(user);

console.log("name:", user.name);
console.log("has toString?", typeof user.toString === "function");
console.log("proto same as Object.prototype?", proto === Object.prototype);
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 2

Własne a odziedziczone

Object.hasOwn(obj, key) zwraca true tylko dla własnych kluczy. "key" in obj uwzględnia również klucze odziedziczone.

// Own vs inherited checks
const point = { x: 1 };

// "in" sees own or inherited
console.log("x in point:", "x" in point);
console.log("toString in point:", "toString" in point);

// Only own keys
console.log("hasOwn x:", Object.hasOwn(point, "x"));
console.log("hasOwn toString:", Object.hasOwn(point, "toString"));
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 3

Podstawy Object.create

Object.create(proto) tworzy obiekt dziedziczący po proto.

// Use Object.create to set a prototype
const animal = { kind: "animal" };

// pet inherits from animal
const pet = Object.create(animal);
pet.name = "Milo";

console.log("pet name:", pet.name);
console.log("pet kind (inherited):", pet.kind);
console.log("hasOwn kind?", Object.hasOwn(pet, "kind"));
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 4

Deskryptory (podstawy)

Object.defineProperty umożliwia ustawienie dla klucza flag, takich jak writable i enumerable.

// Define simple descriptors
const prefs = {};
Object.defineProperty(prefs, "theme", {
  value: "dark",
  writable: false,
  enumerable: true
});

// Try to change (silently fails in non-strict)
prefs.theme = "light";

console.log("theme:", prefs.theme);

// List keys: theme is enumerable
console.log("keys:", Object.keys(prefs));
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 5

Wskazówki i lista kontrolna

Wskazówki:

  • Do sprawdzania własnych kluczy należy używać Object.hasOwn(obj, key).
  • Do tworzenia niewielkich prototypów warto używać Object.create(proto).
  • Na początku należy ograniczyć użycie deskryptorów do minimum; wartości domyślne są wystarczające.
Łańcuch prototypów i podstawy własnych właściwości — ilustracja 6

Quiz: własne a odziedziczone

Szybkie sprawdzenie: Sprawdzanie własności właściwości.

Łańcuch prototypów i podstawy własnych właściwości — ilustracja 7

Podsumowanie

Podsumowanie: Silnik wyszukuje brakujące klucze w prototypie. Należy używać hasOwn wyłącznie do sprawdzania własnych kluczy, Object.create do ustawiania prototypu, a deskryptorów do kontrolowania podstawowych flag.

Łańcuch prototypów i podstawy własnych właściwości — ilustracja 8

Często zadawane pytania

Czy lekcja „Łańcuch prototypów i podstawy własnych właściwości” jest bezpłatna?

Tak — pełny tekst „Łańcuch prototypów i podstawy własnych właściwości” 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 JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 2 lekcji w sumie.

Co nauczysz się w „Łańcuch prototypów i podstawy własnych właściwości”?

Podstawy łańcucha prototypów; rozróżnianie właściwości własnych i dziedziczonych; używanie Object.create i ustawianie prostych deskryptorów Ćwiczysz JavaScript 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ąć JavaScript Academy?

Nie wymagamy żadnego doświadczenia. JavaScript 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 2.

Ile czasu zajmuje lekcja „Łańcuch prototypów i podstawy własnych właściwości”?

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 JavaScript Academy?

Tak. Każda lekcja JavaScript 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. Łańcuch prototypów i podstawy własnych właściwości
  2. Składnia klas (zapowiedź): constructor, metody, static, extends
← Powrót do JavaScript Academy