JAVASCRİPT

JavaScript Nesne Yöntemleri

JavaScript’te nesneler, anahtar-değer çiftlerinden oluşan veri yapılarıdır. Nesneler, sadece veri depolamakla kalmaz, aynı zamanda bu veriler üzerinde işlem yapmak için metotlar (yöntemler) da içerebilir. Bu makalede, JavaScript nesne yöntemlerini ve örneklerini detaylı bir şekilde inceleyeceğiz.


1. Nesne Yöntemleri Nedir?

Nesne yöntemleri, bir nesnenin davranışlarını tanımlayan fonksiyonlardır. Bu yöntemler, nesnenin özelliklerini kullanarak belirli işlemleri gerçekleştirir. Yöntemler, nesne içinde fonksiyon olarak tanımlanır.

Temel Yapı:

let nesne = {
    özellik1: deger1,
    özellik2: deger2,
    metod: function() {
        // Yapılacak işlemler
    }
};

2. Nesne Yöntemi Tanımlama

Nesne yöntemleri, nesne içinde fonksiyon olarak tanımlanır. Bu fonksiyonlar, nesnenin özelliklerine erişmek için this anahtar kelimesini kullanır.

Örnek:

let person = {
    name: "Ali",
    age: 25,
    greet: function() {
        return "Merhaba, ben " + this.name + "!";
    }
};

console.log(person.greet()); // Çıktı: Merhaba, ben Ali!

Not: this anahtar kelimesi, nesnenin kendisine referans verir.


3. Nesne Yöntemlerini Çağırma

Nesne yöntemleri, nesne üzerinden nokta notasyonu veya köşeli parantez notasyonu kullanılarak çağrılabilir.

Örnek:

console.log(person.greet()); // Nokta notasyonu
console.log(person["greet"]()); // Köşeli parantez notasyonu

4. Nesne Yöntemlerini Dinamik Olarak Ekleme

Nesne yöntemleri, nesne tanımlandıktan sonra da eklenebilir.

Örnek:

let car = {
    brand: "Toyota",
    model: "Corolla"
};

car.start = function() {
    return this.brand + " " + this.model + " çalıştı!";
};

console.log(car.start()); // Çıktı: Toyota Corolla çalıştı!

5. Nesne Yöntemlerini Silme

Nesne yöntemleri, delete operatörü kullanılarak silinebilir.

Örnek:

delete car.start;

console.log(car.start); // Çıktı: undefined

6. Nesne Yöntemlerinde this Kullanımı

Nesne yöntemleri içinde this anahtar kelimesi, nesnenin kendisine referans verir. Ancak, this kullanımı bazı durumlarda beklenmeyen sonuçlar doğurabilir, özellikle yöntemler başka bir bağlamda çağrıldığında.

Örnek:

let person = {
    name: "Ali",
    greet: function() {
        return "Merhaba, ben " + this.name + "!";
    }
};

let greetFunction = person.greet;
console.log(greetFunction()); // Çıktı: Merhaba, ben undefined!

Çözüm: bind, call veya apply metotları kullanılarak this bağlamı korunabilir.

Örnek:

let boundGreet = person.greet.bind(person);
console.log(boundGreet()); // Çıktı: Merhaba, ben Ali!

7. Nesne Yöntemlerini Kısa Sözdizimi ile Tanımlama

ES6 ile birlikte, nesne yöntemleri daha kısa bir sözdizimi ile tanımlanabilir.

Örnek:

let person = {
    name: "Ali",
    greet() {
        return "Merhaba, ben " + this.name + "!";
    }
};

console.log(person.greet()); // Çıktı: Merhaba, ben Ali!

8. Nesne Yöntemlerini Prototip ile Tanımlama

Nesne yöntemleri, prototip üzerinden de tanımlanabilir. Bu, aynı türdeki nesnelerin yöntemleri paylaşmasını sağlar.

Örnek:

function Person(name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype.greet = function() {
    return "Merhaba, ben " + this.name + "!";
};

let person1 = new Person("Ali", 25);
let person2 = new Person("Ayşe", 30);

console.log(person1.greet()); // Çıktı: Merhaba, ben Ali!
console.log(person2.greet()); // Çıktı: Merhaba, ben Ayşe!

9. Nesne Yöntemlerini call, apply ve bind ile Kullanma

JavaScript, nesne yöntemlerini farklı bağlamlarda kullanmak için call, apply ve bind metotlarını sunar.

a) call Metodu

Yöntemi belirli bir this bağlamı ile çağırır ve argümanları tek tek geçirir.

Örnek:

let person1 = { name: "Ali" };
let person2 = { name: "Ayşe" };

function greet() {
    return "Merhaba, ben " + this.name + "!";
}

console.log(greet.call(person1)); // Çıktı: Merhaba, ben Ali!
console.log(greet.call(person2)); // Çıktı: Merhaba, ben Ayşe!

b) apply Metodu

Yöntemi belirli bir this bağlamı ile çağırır ve argümanları dizi olarak geçirir.

Örnek:

function introduce(job, country) {
    return "Merhaba, ben " + this.name + ". Mesleğim " + job + " ve " + country + "'de yaşıyorum.";
}

console.log(introduce.apply(person1, ["Developer", "Türkiye"])); // Çıktı: Merhaba, ben Ali. Mesleğim Developer ve Türkiye'de yaşıyorum.

c) bind Metodu

Yöntemi belirli bir this bağlamı ile bağlar ve yeni bir fonksiyon döndürür.

Örnek:

let boundGreet = greet.bind(person1);
console.log(boundGreet()); // Çıktı: Merhaba, ben Ali!

10. Nesne Yöntemlerini Dizi Olarak Alma

Nesne yöntemleri, Object.getOwnPropertyNames() veya Object.keys() metotları kullanılarak bir dizi olarak alınabilir.

Örnek:

let methods = Object.getOwnPropertyNames(person).filter(function(key) {
    return typeof person[key] === "function";
});

console.log(methods); // Çıktı: ["greet"]

Sonuç

JavaScript nesne yöntemleri, nesnelerin davranışlarını tanımlamak ve bu davranışları kullanmak için güçlü bir araçtır. Bu makalede, nesne yöntemlerini tanımlama, çağırma, dinamik olarak ekleme, silme ve this bağlamını yönetme gibi temel kavramları örneklerle açıkladık. Nesne yöntemlerini etkili bir şekilde kullanarak, daha düzenli ve okunabilir JavaScript kodları yazabilirsiniz. Nesne yöntemleri, modern JavaScript geliştirmede vazgeçilmez bir yapı taşıdır.

Bunu Paylaş
Pin Share

KoMedya

2000 yıllarda başlayan web tasarım heyecanı her geçen gün artarak devam ediyor. Bu kadar yıllık tecrübemi artık insanlara aktarma zamanı geldi de geçiyor. Birlikte güzel tasarımlar da buluşmak dileklerimle...

Bir yanıt yazın

Bizi Sosyal Medyadan Takip edebilirsiniz.