Obyektlər

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

6.1 Obyektlərin yaradılması

Obyektlər JavaScript-də ən əsas məlumat tiplərindən biridir və məlumatların saxlanılması və idarə edilməsi üçün geniş istifadə olunur. Obyekt — bu, xassələr toplusudur, burada hər bir xassə açardan (adından) və dəyərdən ibarətdir. Bu mühazirədə biz obyektlərin yaradılmasını, eləcə də onların xassələrinə və metodlarına çıxışı nəzərdən keçirəcəyik.

1. Obyekt literalı

JavaScript-də obyekt yaratmağın ən geniş yayılmış üsulu obyekt literalından istifadə etməkdir.

Bu nümunədə biz dörd xassəli person obyektini yaratdıq: name, age, isStudentgreet.

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false,
        greet: function() {
          return 'Salam!';
        }
      };
    
  

2. Object konstruktoru

Obyektlər həmçinin Object() konstruktordan istifadə olunaraq yaradıla bilər.

Bu üsul obyekt literalından istifadə edərək obyekt yaradılmasına ekvivalentdir, lakin daha çox söz tələb edir:

JavaScript
    
      let person = new Object();
      person.name = 'John';
      person.age = 30;
      person.isStudent = false;
      person.greet = function() {
        return 'Salam!';
      };
    
  

3. Funksiya-konstruktor

Funksiya-konstruktor eyni xassələrə və metodlara malik bir neçə obyekt nümunəsi yaratmağa imkan verir.

Bu nümunədə Person() funksiya-konstruktordan johnjane obyektlərini yaratmaq üçün istifadə olunur:

JavaScript
    
      function Person(name, age, isStudent) {
        this.name = name;
        this.age = age;
        this.isStudent = isStudent;
        this.greet = function() {
          return 'Salam!';
        };
      }

      let john = new Person('John', 30, false);
      let jane = new Person('Jane', 25, true);
    
  

4. Object.create() metodu

Object.create() metodu verilmiş prototipə və xassələrə əsaslanan yeni bir obyekt yaradır.

Bu nümunədə john obyekti personPrototype prototipinə əsasən yaradılır:

JavaScript
    
      let personPrototype = {
        greet: function() {
          return 'Salam!';
        }
      };

      let john = Object.create(personPrototype);
      john.name = 'John';
      john.age = 30;
      john.isStudent = false;
    
  

6.2 Xassələrə və metodlara çıxış

1. Nöqtə ilə çıxış

Obyektin xassələrinə və metodlarına çıxış əldə etməyin ən yayılmış yolu — nöqtədən istifadə etməkdir:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        greet: function() {
          return 'Salam!';
        }
      };

      console.log(person.name);  // Nəticə: John
      console.log(person.age);   // Nəticə: 30
      console.log(person.greet()); // Nəticə: Salam!
    
  

2. Kvadrat mötərizələr ilə çıxış

Obyektin xassələrinə kvadrat mötərizələr vasitəsilə də çıxış əldə etmək mümkündür. Bu üsul xassənin adı dəyişəndə saxlanıldığı və ya boşluqlar və ya xüsusi simvollar ehtiva etdiyi hallarda faydalıdır:

JavaScript
    
      let person = {
        'first name': 'John',
        age: 30,
        greet: function() {
          return 'Salam!';
        }
      };

      console.log(person['first name']); // Nəticə: John
      console.log(person['age']);        // Nəticə: 30

      let propertyName = 'greet';
      console.log(person[propertyName]()); // Nəticə: Salam!
    
  

3. Xassələrin dəyişdirilməsi və əlavə edilməsi

Obyektin xassələri istənilən vaxt dəyişdirilə və ya əlavə edilə bilər:

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      // Mövcud xassənin dəyişdirilməsi
      person.age = 31;
      console.log(person.age); // Nəticə: 31

      // Yeni xassənin əlavə edilməsi
      person.isStudent = false;
      console.log(person.isStudent); // Nəticə: false
    
  

4. Xassələrin silinməsi

Obyektin xassələri delete operatoru ilə silinə bilər:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      delete person.isStudent;
      console.log(person.isStudent); // Nəticə: undefined
    
  

6.3 Obyektin xüsusiyyətləri üzrə iterasiya

1. for...in dövrü

for...in dövrü obyektin bütün siyahıya alına bilən xüsusiyyətlərini keçməyə imkan verir:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      for (let key in person) {
        console.log(`${key}: ${person[key]}`);
      }

      // Çap edəcək:
      // name: John
      // age: 30
      // isStudent: false
    
  

2. Object.keys() metodu

Object.keys() metodu obyektin bütün siyahıya alına bilən xüsusiyyətlərinin massivini qaytarır:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let keys = Object.keys(person);
      console.log(keys); // Çap edəcək: ['name', 'age', 'isStudent']
    
  

3. Object.values() metodu

Object.values() metodu obyektin bütün siyahıya alına bilən xüsusiyyətlərinin dəyərlərinin massivini qaytarır:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let values = Object.values(person);

      console.log(values); // Çap edəcək: ['John', 30, false]
    
  

4. Object.entries() metodu

Object.entries() metodu obyektin bütün siyahıya alına bilən xüsusiyyətləri üçün [açar, dəyər] cütlərini qaytaran bir massiv qaytarır:

JavaScript
    
      let person = {
        name: 'John',
        age: 30,
        isStudent: false
      };

      let entries = Object.entries(person);

      console.log(entries); // Çap edəcək: [['name', 'John'], ['age', 30], ['isStudent', false]]
    
  

6.4 Xassələrin mövcudluğunu yoxlamaq

1. in operatoru

in operatoru obyekt içində xassənin mövcudluğunu yoxlamağa imkan verir:

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      console.log('name' in person); // Çap edəcək: true
      console.log('isStudent' in person); // Çap edəcək: false
    
  

2. hasOwnProperty() metodu

hasOwnProperty() metodu obyektin müəyyən xassəyə malik olub-olmadığını yoxlayır (irsi olmayan xassələr üçün):

JavaScript
    
      let person = {
        name: 'John',
        age: 30
      };

      console.log(person.hasOwnProperty('name')); // Çap edəcək: true
      console.log(person.hasOwnProperty('isStudent')); // Çap edəcək: false
    
  
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION