Məzmuna keçin
  • Kateqoriyalar
  • Ən yeni
  • Teqlər
  • Populyar
Yığmaq
Brend loqosu
  1. Əsas səhifə
  2. TypeScript
  3. TypeScript-də type və interface

TypeScript-də type və interface

Planlaşdırılıb Sabitlənib Kilidlənib Köçürülüb TypeScript
typesinterfacestypescript
1 Yazı 1 Yazarlar 14 Baxış
  • Ən köhnədən yeniyə
  • Ən yenidən köhnəyə
  • Ən çox səs
Cavab ver
  • Mövzu olaraq cavablandır
🔑 Daxil ol
Bu mövzu silindi. Yalnız mövzu idarəçiliyi imtiyazlarına malik olan istifadəçilər onu görə bilər.
  • C Oflayn
    C Oflayn
    codex
    yazdı 7 günəvvəl sonuncu dəfə tərəfindən redaktə edilib
    #1

    TypeScript statik tip təyin etmə imkanı verən JavaScript üzərində genişlənmiş bir proqramlaşdırma dilidir. Bu dildə məlumat strukturlarını daha aydın və təhlükəsiz şəkildə təsvir etmək üçün iki əsas vasitə var: type və interface.

    Bunların hər ikisi obyektlərin və verilən strukturlarının formasını təsvir etmək üçün istifadə olunur. Ancaq aralarında bəzi fərqli imkanlar və istifadə məqsədləri mövcuddur.


    🔹 interface nədir?

    interface – Obyektlərin strukturunu müəyyən etmək üçün istifadə olunur. Bir obyekt hansı sahələrə (fields) malik olacaq, onların tipi nə olacaq və hansılar məcburidir – bunlar interfeyslə müəyyənləşdirilir.

    Nümunə:

    interface Person {
      name: string;
      age: number;
      isStudent?: boolean; // optional field
    }
    

    Burada Person adlı interfeys name, age və istəyə bağlı isStudent sahələrini müəyyən edir.


    🔹 type nədir?

    type daha geniş imkanlara malikdir. O, həm obyektləri, həm də primitiv tipləri, birlik tipləri (union types), kəsişmə tipləri (intersection types) və tuple-ları təsvir edə bilər.

    Nümunə:

    type Person = {
      name: string;
      age: number;
    };
    

    Bu da interface-ə bənzər bir strukturdur, lakin type ilə aşağıdakıları da edə bilərik:

    Union Type (bir neçə növdən biri):

    type Status = "success" | "error" | "loading";
    

    Intersection Type (birləşmiş struktur):

    type Address = {
      city: string;
    };
    
    type Employee = Person & Address;
    

    ✅ Ortalıq Oxşarlıqları

    İmkan type interface
    Obyekt strukturu yaratmaq ✅ ✅
    Miras alma (inheritance) ✅ ✅
    Union və intersection yaratmaq ✅ ❌
    Tuple və primitive növləri müəyyənləşdirmək ✅ ❌
    Yenidən açılıb sahə əlavə etmək ❌ ✅ (Declaration merging)

    🔸 interface və type fərqləri

    Fərq type interface
    Quraşdırılmış genişlənmə type & operatoru ilə genişlənir interface birbaşa extends ilə genişlənə bilər
    Union, Intersection Tam dəstəklənir Dəstəklənmir
    Declaration merging (təkrar elan etmə) Olmaz Olur
    Primitiv tipləri təyin etmək Mümkündür (type Age = number) Mümkün deyil

    🔹 Hansını nə vaxt istifadə etməli?

    • Sadəcə obyekt strukturu təsvir edirsinizsə, interface istifadə etmək tövsiyə olunur.
    • Əgər union, intersection, primitiv və ya tuple növləri ilə işləyirsinizsə, type daha uyğun olar.
    • Üçüncü tərəf kitabxanalarında (React, Express) tez-tez interface istifadə olunur.

    ✅ Real dünya nümunəsi

    interface User {
      id: number;
      name: string;
    }
    
    type Role = "admin" | "user" | "guest";
    
    type UserWithRole = User & {
      role: Role;
    };
    

    Burada həm interface, həm də type birlikdə istifadə olunub.


    📌 Nəticə

    TypeScript-də type və interface hər ikisi strukturların və məlumatların təhlükəsiz işlənməsi üçün çox faydalıdır. Onların düzgün seçilməsi kodun daha oxunaqlı, yenidən istifadə oluna bilən və davamlı olmasını təmin edir.

    Əgər sadə obyekt strukturu ilə işləyirsinizsə – interface, daha kompleks tip təriflərinə ehtiyac varsa – type istifadə edin.

    1 cavab Son cavab
    Cavab ver
    • Mövzu olaraq cavablandır
    🔑 Daxil ol
    • Ən köhnədən yeniyə
    • Ən yenidən köhnəyə
    • Ən çox səs

    1/1

    2025 M05 7 04:00




    Bilik paylaşdıqca artan bir sərvətdir
    • Daxil ol

    • Sizin hesabınız yoxdur? Qeydiyyatdan keç

    • Axtarış etmək üçün daxil olun və ya qeydiyyatdan keçin.
    1 / 1
    • İlk yazı
      1/1
      Son yazı
    0
    • Kateqoriyalar
    • Ən yeni
    • Teqlər
    • Populyar