CodeGym /Kurslar /Frontend SELF AZ /Siniflərin sintaksisi

Siniflərin sintaksisi

Frontend SELF AZ
Səviyyə , Dərs
Mövcuddur

5.1 Sinif elan etmək

ECMAScript 6 (ES6) JavaScript-ə gətiriləndən sonra obyektlər yaratmaq və miras almağı idarə etmək üçün yeni bir struktur ortaya çıxdı — class açar sözü. Siniflər obyektlərin yaradılması və prototiplərlə işləmək üçün daha rahat və anlaşılan sintaksis təqdim edir.

JavaScript-də Siniflər — mövcud prototip miras sisteminin üzərindəki sintaksis şəkəridir. Onlar obyektlərin yaradılmasını və idarə edilməsini daha anlaşıqlı və strukturlaşdırılmış edir.

Sinif elan etmək

JavaScript-də sinif class açar sözü ilə elan olunur və sinifin adı sonrasında yazılır. Sinifin gövdəsi isə {} fiqurlu mötərizələr arasında olur.

Nümunə:

JavaScript
    
      class Person {
        // Sinif metodu
        greet() {
          console.log('Salam!');
        }
      }

      // Sinif nümunəsi yaratmaq
      const person = new Person();
      person.greet(); // Çap edəcək: Salam!
    
  

Sinif ifadəsi

Siniflər həm elan, həm də ifadə vasitəsilə yaradılır. Sinif ifadələri adlandırılmış və ya anonim ola bilər.

Adlandırılmış sinif nümunəsi:

JavaScript
    
      const Person = class PersonClass {
        greet() {
          console.log('Salam!');
        }
      };

      const person = new Person();
      person.greet(); // Çap edəcək: Salam!
    
  

Anonim sinif nümunəsi:

JavaScript
    
      const Person = class {
        greet() {
          console.log('Salam!');
        }
      };

      const person = new Person();
      person.greet(); // Çap edəcək: Salam!
    
  

5.2 Siniflərin sahələri və metodları

Siniflərin xüsusiyyətləri

ES6-dakı siniflərin xüsusiyyətləri yalnız constructor daxilində elan edilə bilər. Lakin daha yeni JavaScript (ES2022) versiyalarında sinif sahələri təqdim edilmişdir ki, bu da xüsusiyyətləri constructor-dan kənarda elan etməyə imkan verir.

Constructor daxilində xüsusiyyətlərdən istifadə nümunəsi:

JavaScript
    
      class User {
        constructor(username, email) {
          this.username = username;
          this.email = email;
        }
      }

      const user = new User('john_doe', 'john@example.com');

      console.log(user.username); // "john_doe"
      console.log(user.email); // "john@example.com"
    
  

Sinif sahələrindən istifadə nümunəsi (ES2022):

JavaScript
    
      class User {
        username = 'default_username';
        email = 'default@example.com';

        constructor(username, email) {
          this.username = username;
          this.email = email;
        }
      }

      const user = new User('john_doe', 'john@example.com');

      console.log(user.username); // "john_doe"
      console.log(user.email); // "john@example.com"
    
  

İzahedici:

  • Birinci nümunədə usernameemail xüsusiyyətləri constructor daxilində elan edilir və təşəbbüsləşdirilir.
  • İkinci nümunədə usernameemail xüsusiyyətləri sinif sahələri kimi constructor-dan kənarda elan edilir.

Sinif metodları

Sinif, sinif daxilində müəyyən edilən metodları ehtiva edə bilər. Bu metodlar avtomatik olaraq yaradılmış obyektlərin prototipinə əlavə olunur.

Sinif metodları nümunəsi:

JavaScript
    
      class Animal {
        speak() {
          console.log('Animal danışır');
        }

        eat() {
          console.log('Animal yeyir');
        }
      }

      const animal = new Animal();
      animal.speak(); // Çap edir: Animal danışır
      animal.eat();   // Çap edir: Animal yeyir
    
  

3.3 Siniflərin istifadəsinə nümunələr

Mürəkkəb obyektlərin yaradılması

Siniflər müxtəlif metodlar və xüsusiyyətlərlə mürəkkəb obyektlər yaratmağa imkan verir.

Nümunə:

JavaScript
    
      class Car {
        constructor(brand, model) {
          this.brand = brand;
          this.model = model;
        }

        startEngine() {
          console.log(`${this.brand} ${this.model} mühərrik işə düşdü.`);
        }

        stopEngine() {
          console.log(`${this.brand} ${this.model} mühərrik dayandı.`);
        }
      }

      const myCar = new Car('Toyota', 'Camry');
      myCar.startEngine(); // Çıxış: Toyota Camry mühərrik işə düşdü.
      myCar.stopEngine();  // Çıxış: Toyota Camry mühərrik dayandı.
    
  
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION