JavaScript Alıcı ve Ayarlayıcı (Örneklerle)

Bu eğitimde, örnekler yardımıyla JavaScript alıcı ve ayarlayıcı yöntemleri hakkında bilgi edineceksiniz.

JavaScript'te iki tür nesne özelliği vardır:

  • Veri özellikleri
  • Erişimci özellikleri

Veri Özelliği

Önceki eğitimlerde kullandığımız bir veri özelliği örneği aşağıda verilmiştir.

 const student = ( // data property firstName: 'Monica'; );

Erişimci Özelliği

JavaScript'te erişimci özellikleri, bir nesnenin değerini alan veya ayarlayan yöntemlerdir. Bunun için şu iki anahtar kelimeyi kullanıyoruz:

  • get - özellik değerini almak için bir alıcı yöntemi tanımlamak için
  • set - özellik değerini ayarlamak için bir ayarlayıcı yöntemi tanımlamak için

JavaScript Alıcısı

JavaScript'te, bir nesnenin özelliklerine erişmek için alıcı yöntemleri kullanılır. Örneğin,

 const student = ( // data property firstName: 'Monica', // accessor property(getter) get getName() ( return this.firstName; ) ); // accessing data property console.log(student.firstName); // Monica // accessing getter methods console.log(student.getName); // Monica // trying to access as a method console.log(student.getName()); // error

Yukarıdaki programda, getName()bir nesnenin özelliğine erişmek için bir alıcı yöntemi oluşturulur.

 get getName() ( return this.firstName; )

Not: Alıcı yöntemi oluşturmak için getanahtar kelime kullanılır.

Ayrıca değere erişirken, değere bir özellik olarak erişiriz.

 student.getName;

Değere yöntem olarak erişmeye çalıştığınızda bir hata oluşur.

 console.log(student.getName()); // error

JavaScript Ayarlayıcı

JavaScript'te, bir nesnenin değerlerini değiştirmek için ayarlayıcı yöntemler kullanılır. Örneğin,

 const student = ( firstName: 'Monica', //accessor property(setter) set changeName(newName) ( this.firstName = newName; ) ); console.log(student.firstName); // Monica // change(set) object property using a setter student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

Yukarıdaki örnekte ayarlayıcı yöntemi, bir nesnenin değerini değiştirmek için kullanılır.

 set changeName(newName) ( this.firstName = newName; )

Not: Bir ayarlayıcı yöntemi oluşturmak için setanahtar kelime kullanılır.

Yukarıdaki programda gösterildiği gibi, değeri ' firstNamedir Monica.

Ardından değer olarak değiştirilir Sarah.

 student.chageName = 'Sarah';

Not : Ayarlayıcının tam olarak bir resmi parametresi olmalıdır.

JavaScript Object.defineProperty ()

JavaScript'te, Object.defineProperty()alıcılar ve ayarlayıcılar eklemek için yöntemi de kullanabilirsiniz . Örneğin,

 const student = ( firstName: 'Monica' ) // getting property Object.defineProperty(student, "getName", ( get : function () ( return this.firstName; ) )); // setting property Object.defineProperty(student, "changeName", ( set : function (value) ( this.firstName = value; ) )); console.log(student.firstName); // Monica // changing the property value student.changeName = 'Sarah'; console.log(student.firstName); // Sarah

Yukarıdaki örnekte, Object.defineProperty()bir nesnenin özelliğine erişmek ve onu değiştirmek için kullanılır.

Kullanmak için sözdizimi Object.defineProperty()şöyledir:

 Object.defineProperty(obj, prop, descriptor)

Object.defineProperty()Yöntem üç argüman alır.

  • İlk argüman, objectName'dir.
  • İkinci argüman, mülkün adıdır.
  • Üçüncü argüman, özelliği tanımlayan bir nesnedir.

Ilginç makaleler...