Javascript Sınıfları Fonksiyonlara Parametre Olarak Gönderme

Hamdi Yılmaz
3 min readMar 20, 2023

JavaScript’te, bir sınıfın bir fonksiyona parametre olarak veya fonksiyondan döndürülmesi oldukça yaygın bir durumdur. Bu yaklaşım, sınıfın özelliklerini ve yöntemlerini, başka bir fonksiyon içinde kullanarak kodunuzu daha modüler hale getirebilir. Bu yazıda, JavaScript’te sınıfları fonksiyonlara parametre olarak gönderme ve return olarak alma konularını ele alacağız ve örneklerle açıklayacağız.

Sınıfları Fonksiyonlara Parametre Olarak Gönderme

Bir JavaScript sınıfını bir fonksiyona parametre olarak göndermek, sınıfın örneğini, fonksiyonun içinde kullanmak için kullanışlı bir yöntemdir. Bunu yapmak için, öncelikle sınıfın örneğini oluşturmalısınız ve ardından bu örneği fonksiyona parametre olarak geçirmelisiniz. İşte bir örnek:

class Person {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}

function sayHello(person) {
person.greet();
}

let john = new Person("John");
sayHello(john); // Output: Hello, my name is John

Bu örnekte, Person adında bir sınıf tanımlanmıştır. Daha sonra, sayHello adlı bir fonksiyon tanımlanmıştır. Bu fonksiyon, bir Person sınıfı örneği alır ve örneğin greet yöntemini çağırır. Daha sonra, john adında bir Person sınıfı örneği oluşturulur ve sayHello fonksiyonuna parametre olarak geçirilir.

Sınıfları Fonksiyonlardan Return Olarak Alma

Sınıfları bir fonksiyondan return olarak alma, sınıfın özelliklerini ve yöntemlerini daha sonra kullanmak üzere başka bir değişkende saklamak için kullanışlıdır. Bu yöntemle, sınıfın örneğini oluşturmanız ve daha sonra başka bir değişkende saklamanız gerekir. İşte bir örnek:

class Person {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}

function createPerson(name) {
return new Person(name);
}

let john = createPerson("John");
john.greet(); // Output: Hello, my name is John

Bu örnekte, createPerson adında bir fonksiyon tanımlanmıştır. Bu fonksiyon, bir Person sınıfı örneği oluşturur ve örneği return olarak verir. Daha sonra, john adında bir değişken oluşturulur ve createPerson fonksiyonu, “John” parametresiyle çağrılır. Fonksiyon, bir Person örneği döndürür ve bu örneği john değişkenine atar. Daha sonra, greet yöntemi, john örneği üzerinde çağrılır ve “Hello, my name is John” çıktısı verir.

Örnek: Sınıfların Kullanımı

Sınıfların parametre olarak fonksiyonlara ve return olarak diğer değişkenlere geçirilmesi, JavaScript kodunuzu daha modüler hale getirir. İşlevselliklerinizi sınıflara gruplayabilir ve sınıfları başka fonksiyonlarla kullanabilirsiniz. Örneğin, bir sınıfı bir modül olarak düşünebilirsiniz.

class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
getDetails() {
return `${this.make} ${this.model} (${this.year})`;
}
}

function createCar(make, model, year) {
return new Car(make, model, year);
}

let myCar = createCar("Toyota", "Corolla", 2021);
console.log(myCar.getDetails()); // Output: Toyota Corolla (2021)

Bu örnekte, Car adında bir sınıf tanımlanmıştır. Bu sınıf, bir araba örneğini temsil eder. Sınıfın constructor yöntemi, arabanın markası, modeli ve yılı gibi özelliklerini tanımlar. Ayrıca, sınıfın getDetails yöntemi, arabanın detaylarını bir dize olarak döndürür.

Daha sonra, createCar adında bir fonksiyon tanımlanmıştır. Bu fonksiyon, Car sınıfı örneği oluşturur ve örneği return olarak verir.

Son olarak, myCar adında bir değişken oluşturulur ve createCar fonksiyonu, “Toyota”, “Corolla” ve 2021 parametreleriyle çağrılır. Fonksiyon, bir Car örneği döndürür ve bu örneği myCar değişkenine atar. Daha sonra, getDetails yöntemi, myCar örneği üzerinde çağrılır ve “Toyota Corolla (2021)” çıktısı verir.

Sonuç

JavaScript sınıfları, özellikleri ve yöntemleri gruplamak ve daha modüler bir kod oluşturmak için kullanışlı bir araçtır. Bu sınıfları fonksiyonlara parametre olarak geçirerek veya return olarak alarak, sınıfın işlevselliğini başka yerlerde kullanabilirsiniz. Bu, JavaScript kodunuzu daha okunaklı, daha kolay bakım yapılabilir ve daha yeniden kullanılabilir hale getirebilir.

--

--