Javascript arguments nedir? Javascript programlama dilinde arguments diye bir kavram var. Arguments fonksiyon içerisinde kullanılabilen bir array benzeri yapıdır. Tam olarak array denilemez çünkü javascript array’lerin sahip olduğu bütün özellikler yoktur.
Arguments, fonksiyon içerisine gönderilen parametreleri içerisinde barındır. Yani şöyle düşünelim; fonksiyon içerisine ne kadar parametre girersek girelim hepsine arguments ile ulaşabiliriz.
Javascript arguments örnekleri
Toplam parametre sayısı
Bir html ve bir js dosyası oluşturalım. İlk fonksiyonumun adı firstExample olacak. Arguments length özelliğine sahiptir yani fonksiyon içerisine gelen kaç tane parametre olduğunu bulabiliriz.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Javascript Arguments</title>
</head>
<body>
<h1>Javascript Arguments</h1>
<p id="first"></p>
<script src="index.js" type="text/javascript"></script>
<script type="text/javascript">
firstExample(1,2,3,4,5,6);
</script>
</body>
</html>
Burada firstExample() fonksiyonunu oluştururken herhangi bir parametre geleceğinden bahsetmiyoruz. arguments ile zaten hepsine ulaşacağız.
function firstExample() {
document.getElementById("first").innerHTML = arguments.length;
}
Parametrelere ayrı ayrı ulaşma
arguments kavramının length yani bir uzunluk özelliğine sahip olduğundan bahsettik. arguments array gibi davransa da tam manasıyla bir array’in özelliklerine sahip olmadığı için forEach() ya da map() gibi özellikleri kullanamıyoruz. Bunun yerine for döngüsü ile argumenst[i] ile istediğimiz elemana ulaşabiliriz.
Ekrana yazdırmak için html dosyamıza şunu ekleyelim.
...
<h1>Javascript Arguments Reach All</h1>
<div id="second"></div>
...
secondExample(7, 8, 9, 10, 11);//fonksiyonu çağıralım.
Javascript dosyamız ise şu şekilde olacak. Aşağıda javscript appendChild kullanarak verileri p tagı ile yazdırdım. En önemli kısım arguments[i] yazılan yer çünkü 0’dan en son arguments elemanını bu şekilde alıyoruz.
function secondExample() {
for (var i = 0; i < arguments.length; i++) {
var node = document.createElement("p");
var textNode = document.createTextNode(arguments[i]);
node.appendChild(textNode);
document.getElementById("second").appendChild(node);
}
}
Javascript arguments array dönüşümü
arguments’i tek başına gerçek bir array olarak kullanamıyoruz evet ama ES2015 ile gelen Arra.from() methodu ile ya da diğer bir kısayol ile arguments’i gerçek bir array olarak kullanabiliriz.
function thirdExample(){
var arr = Array.from(arguments);
// ya da
var arr = [...arguments];
}
Bonus:Javacript arrow function arguments kullanımı
Javascript içerisinde arrow function içerisinde direkt olarak arguments’i kullanamıyoruz. Fakat arrow function’larda şöyle bir yapı kullanılıyor.
bonusExample =(...arg)=>{
console.log(arg);
}
Parametre olarak …anyName kullanarak fonksiyon içerisindeki bütün parametrelere ulaşmış oluyoruz. Javascript arguments nedir az çok açıklamaya çalıştım. Github linkinde kodların tamamı var dilerseniz kullanabilirsiniz.