Podsumowanie: Czerwiec 2025

Opublikowano: - tagi:

W czerwcu nie opublikowałem żadnego wpisu.


Przeczytałem 2 książki:

  1. Wieża Jaskółki — Andrzej Sapkowski
  2. Pani Jeziora — Andrzej Sapkowski

Przesłuchałem 4 audiobooki:

  1. Nasze idealne małżeństwo — Loreth Anne White
  2. Spadkobierczyni Medicusa — Noah Gordon
  3. Pomoc domowa — Freida Mcfadden
  4. Most na rzece Kwai — Pierre Boulle

Podsumowanie: Maj 2025

Opublikowano: - tagi:

W maju nie opublikowałem żadnego wpisu.


Przeczytałem 1 książkę:

  1. Uczta dla wron. Cienie śmierci — George R.R. Martin

Przesłuchałem 4 audiobooki:

  1. Przebudzenie — Jack Ketchum
  2. Szaman — Noah Gordon
  3. Demon z samotnej wyspy — Ranpo Edogawa
  4. Rewolucja nie ma końca. Podróże w krainie buntu i nadziei — Artur Domosławski

Podsumowanie: Kwiecień 2025

Opublikowano: - tagi:

W kwietniu nie opublikowałem żadnego wpisu.


Przeczytałem 3 książki:

  1. Dobra energia — Casey Means, Calley Means
  2. Pasierb — Juan Jose Saer
  3. Dzik droga — Cheryl Strayed

Przesłuchałem 7 audiobooków:

  1. Białość — Jon Fosse
  2. Wynik negatywny — Karina Sawaryna
  3. Miecz przeznaczenia — Andrzej Sapkowski
  4. Lato, gdy mama miała zielone oczy — Tatiana Țîbuleac
  5. Sezon burz — Andrzej Sapkowski
  6. Psy Pana — Marcin Świątkowski
  7. Krew elfów — Andrzej Sapkowski

Podsumowanie: Marzec 2025

Opublikowano: - tagi:

W marcu opublikowałem 1 wpis:


TypeScript:

  1. Jak sprawdzić, czy obiekt implementuje dany interfejs?

Przeczytałem 3 książki:

  1. Striptiz — Georges Simenon
  2. Bunt — Blake Crouch
  3. Krzyk — Blake Crouch

Przesłuchałem 3 audiobooki:

  1. Shogun — James Clavell
  2. Natychmiast to skasuj — Konrad Hildebrand
  3. Prorok — Khalil Gibran

TypeScript: Jak sprawdzić, czy obiekt implementuje dany interfejs?

Opublikowano: - tagi:

Czy obiekt implementuje interfejs?

TypeScript pozwala na sprawdzenie, czy obiekt implementuje konkretny interfejs za pomocą strażnika typu (ang.: typ-safe guard). Taki strażnik musi zostać napisany przez programistę.

Przykład:

Interfejs:

interface IPerson {
    name: string
    age: number
    weight: number
}

I funkcja, która sprawdzi, czy podana wartość implementuje interfejs:

function isPerson(person: unknown): person is IPerson {
    return typeof person === 'object' && person !== null && 'name' in person && 'age' in person && 'weight' in person;
}

Przykład wywołania:

console.log('null: ', isPerson(null)) // false
console.log('undefined: ', isPerson(undefined)) // false
console.log('[]: ', isPerson([])) // false
console.log('{ name: "Kowalski" }: ', isPerson({ name: "Kowalski" })) // false
console.log('{ name: "Kowalski", age: 25, weight: 75 }: ', isPerson({ name: "Kowalski", age: 25, weight: 75 })) // true