Javascript Nesnelere Metod Nasıl Eklenir ?



메톳 네디르?

JavaScript'in 참조 veri tiplerinden biri olan ve Türkçede "nesne"anlamına gelen object key-value (anahtar-değer) yapı mantığına sahip bir veri tipidir. 이 경우 새 속성(예제) 속성(예제) 및 키-값 관리 도구를 사용할 수 없습니다.

Özelliklerin sahip olduğu değerler farklı veri tiplerinde olabileceği gibi bir fonksiyonu da işaret edebilir. Bir özellik eğer bir fonksiyonu işaret ediyorsa bu özelliğe metot denir.

Bir nesneye metot 2 şekilde eklenebilir. Bunlardan biri yukarda bahsedildiği üzere nesneye property olarak eklemek, bir diğeri ise prototype (prototip) fonksiyonu üzerinden eklemektir.

메토투 외젤리크 올라락 에클레멕
Metot, bir nesnenin oluşturulduğu sırada özellik olarak olarak eklenip tanımlanabileceği gibi, önceden tanımlanmış bir nesneye sonradan da eklenebilir. Biz bu yazımızda ilk durumu ele alıp aşağıdaki örneği ona göre inceleyelim.

외른; "cat"adında bir nesne oluşturalım ve bu nesnemiz "name", "age"özelliklerine, bu kedinin ismini,yaşını ve çıkardığı sesi bize getirecek bir "introduce"metoduna sahip olsun.

var cat = {
  name: "Mr. Puff",
  age: 8,
  introduce: function(){
    return(`My name is ${this.name} ,I'm ${this.age} yo. And my sound meow  meow `);
  }
}
console.log(cat.introduce())


Yukarıdaki gibi, metot tanımlanırken function() anahtar kelimesi kullanılarak yapılabileceği gibi EcmaScript6'nın arrow function yönteminin söz diziminden yararlanarak yapmak da mümkündür.

Fakat burada dikkat edilmesi gereken noktalardan biri arrow functionlar this erişimine sahip değildir. Yani aşağıdaki gibi bir kullanımda 소개 fonksiyonu çalıştırıldığında çıktıda özellikler undefined (tanımlanmamış) olarak gözükecektir.

var cat = {
  name: "Mr. Puff",
  age: 8,
  introduce: () => {
    return(`My name is ${this.name} ,I'm ${this.age} yo. And my sound meow  meow `);
  }
}
console.log(cat.introduce())


My name is ,I'm undefined yo. And my sound meow meow



Yukarıdaki kodumuzun çıktısı bu şekilde olacaktır.Yani bir metodun 화살표 기능 söz dizimi kullanılarak yapılmak istendiği bir durumda özelliklere nesnenin ismiyle erişilebilir. Buna göre yukarda 화살표 기능 kullanarak oluşturduğumuz metot içerisinde özelliklere erişim şu şekilde olacaktır;

var cat = {
  name: "Mr. Puff",
  age: 8,
  introduce: () => {
    return(`My name is ${cat.name} ,I'm ${cat.age} yo. And my sound meow  meow `);
  }
}
console.log(cat.introduce())


Bu şekilde kullanımımızda undefined (tanımlanmamış) gözükmelerin önüne geçmiş olacağız.

Bu yazımda metotların ne olduğunu ve JavaScript nesnesi oluştururken bu nesneye property yöntemi ile nasıl metot ekleyeceğimizi anlattım.Bir sonraki yazımda görüşmek üzere.

좋은 웹페이지 즐겨찾기