Cohorts
  • Discover
  • About Us
  • Blog
  • Patika.dev
  • Web3

JavaScript

Kullanılacak Tüm Dökümanlar
Node.js Kurulumu

JavaScript Nedir?
Birçok Platformda Hello World ve Hello World'ün Önemi

Değişken Tanımlama: var, ES6 ile Birlikte Gelen let ve const Değişken Tanımlama Yapısının Kullanımı, var ile Arasındaki Farklar
Değişken Tanımlama Kuralları
Number Veri Turu Kullanımı, Temel Aritmetik İşlemler, İşlem Önceliği, Arttırma ve Azaltma İşlemleri
Boolean Veri Türü İle Çalışmak
Değişken Türünü Kontrol Etmek ve Değişken Türünü Değiştirmek
Template Literals Kullanımı
String Veri Türü İşlemleri

Document Object Model (DOM) Nedir
DOM içerisinden Etiket ve ID ile Öğe Seçimi
Prompt ile Kullanıcıdan Bilgi Almak
Liste içerisindeki Öğeye Erişmek ve Yeni Öğe Eklemek
DOM'a CSS Class Bilgisi Eklemek veya Çıkarmak

Karşılaştırma Operatörleri ve Mantıksal Operatörler
Koşul Yapısı Kullanımı (if / else)
Çoklu Koşul Yapısı Kullanımı
Ternary Operatör ( Koşul ? Doğruysa : Yanlışsa) ile If Kullanımı
Koşullarla Çalışmak - Bölüm Sonu Egzersizi

Fonksiyon Nedir? Neden Kullanırız?
Fonsiyona Parametre (params) ve Geridönüş (return) Eklemek
Fat Arrow () => Fonksiyonu Kullanımı
DOM Etkinlikleriyle Çalışmak
Fonksiyonlar - Bölüm Sonu Egzersizi
Ödev 1

LocalStorage ile Veri Eklemek, Düzenlemek ve Silmek
LocalStorage içerisine Farklı Türde Veriler Eklemek
localStorage - Bölüm Sonu Egzersizi

Form ve Form Submit Yönetimi
Input içerisinden Değer Almak
Formlarla Çalışmak - Bölüm Sonu Egzersizi

Dizi (Array) Oluşturmak ve Dizi İçindeki Elemanlara Ulaşmak
Diziye Yeni Eleman Eklemek, Çıkartmak ve Güncellemek
Array (Dizi) Metotlarının Kullanımı ve Array içinde Array Oluşturma

For Döngüsü Kullanımı
Break ve Continue Kullanımı
While Döngüsü
ForEach ile Array içerisindeki Öğelerin Çağrılması
Filter ile Array İçerisinde Sadece İstenilen Bilgilerin Yeni Listeye Eklenmesi
Map ile Array İçerisideki Yapının Değiştirilerek Yeni Liste Oluşturulması
Ödev 2

Object (Nesne) Nedir? Nasıl Oluşturulur?
Object Anahtar (Key) ve Değer (Value) Yapısının Kullanımı/Erişimi
Nesnelere Nasıl Metot Ekleriz?
Object ve Array Destructuring Kullanımı
Ödev 3

Try ve Catch Kullanımı

Fetch API ile Çalışmak

Fat Arrow () => Fonksiyonu Kullanımı

JavaScript'te fonksiyonları tanımlamanın birçok yolu vardır.

Bunlardan birincisi function keyword'ünü kullanarak yazdığımız fonksiyonlardır.

// Function declaration
function greet(who) {
  return `Hello, ${who}!`;
}
greet("John") // output : Hello, John!

// Function expression
const greet = function(who) {
  return `Hello, ${who}!`;
}
 greet("John") // output : Hello, John!

İkincisi ES6 ile kullanılmaya başlanan Arrow Fonksiyon gösterimi. Aynı zamanda Fat Arrow Fonksiyon da deniliyor. Bunlar daha az kod satırı ile fonksiyonu yazmamıza olanak sağlıyor. Üstte yazdığımız örneği bir de Arrow Fonksiyonu olarak yazmayı deneyelim.

const greet = (who) => `Hello, ${who}!`;

Bu şekilde daha az kod satırı ile fonksiyonu yazdık. Aynı zamanda eğer bir tane parametre varsa;

const greet = who => `Hello, ${who}!`;

Parametreyi kapsayan parantezleri de kaldırabiliriz.

Başka örnekler yazarak pekiştirelim.

Örnek 1

// ES5
var toplam = function(x, y) {
  return x + y;
};

// ES6
let toplam = (x, y) => x + y ;

Örnek 2

// ES5
var sayi = function(x) {
    return x*x
};

// ES6
let sayi = x => x*x;

Örnek 3

// ES5
var multiplier = function(item, multi) {
    return item * multi
};
multiplier(5, 2); // output : 10

// ES6
const multiplier = (item, multi) => item * multi;
multiplier(5, 2); // output : 10

Örnek 4

//ES5
var myList = function(param1, param2) {
  return param1.concat(param2);
};
myList([1, 2], [3, 4, 5]); // output : [ 1, 2, 3, 4, 5 ]

//ES6
const myList = (param1, param2) => param1.concat(param2);
myList([1, 2], [3, 4, 5]); // output : [ 1, 2, 3, 4, 5 ]

Arrow fonksiyon kullanırken dikkat etmemiz gereken bazı durumlar vardır.

"return" keyword;

  • Statement'lar süslü{ } parantez kullanılarak yazılırlar. Eğer fonksiyon içerisinde bu parantezlerden varsa return keyword'ü kullanmamız gerekir. Bir if Statement'i kullanılan bir arrow fonksiyonu yazalım.
  var feedTheCat = (cat) => {
    if (cat === 'hungry') {
      return 'Feed the cat';
    } else {
      return 'Do not feed the cat';
    }
  }

"this" keyword;

  • this'in arrow fonksiyonlardaki davranışı, regular fonksiyonlardaki davranışından farklıdır. Nasıl ve nerede oluşturulursa oluşturulsun this'in arrow fonksiyonu içerisindeki değeri her zaman parent fonksiyonuna eşittir. Diğer bir deyişle arrow fonksiyonu kendi execution context'ini oluşturmaz. Yani kendisini referans göstermez, her zaman parent'ına bakar.
let movie = { 

name: "La la land",

thisInArrow:() => { 
console.log("Movie name is " + this.name); // 'this' window'u referans gösterir. Bu yüzden name'yi bulamaz.
}, 

thisInRegular(){ 
console.log("Movie name is " + this.name); // 'this' kendisini referans gösterir ve çalışır.
} 

};
movie.thisInArrow(); // output : Movie name is
movie.thisInRegular(); // output : Movie name is La la land

Pekiştirme Soruları

1 -  Bir dizi veya film listesi parametre alan bir arrow fonksiyonumuz olsun, bunların hervbirini 1'den başlayarak alt alta yazalım.

Çözüm

const seriesList = list => {
  
  list.forEach((series, index) => {
    console.log(`${index+1}. ${series}`) 
  });
};

seriesList(["Firefly", "The Mandalorian","Breaking Bad"]);
/* output:
1. Firefly
2. The Mandalorian
3. Breaking Bad
*/

 2 - [1,2,3,4,5] array'ini parametre alan bir arrow fonksiyonumuz olsun. Bu array'in sonucu bize yeni bir array döndürsün. Oluşan yeni array'deki çift sayılar 2, tek sayılar ise 3 ile çarpılmış olsun. [1,2,3,4,5] => [1x3, 2x2, 3x3, 4x2, 5x3] =>Sonuç çıktımız **[3,4,9,8,15]** olacak.

Çözüm

const newArray = (nums) => {

    const newNums = nums.map(e=>{      
        if(e%2==0){
            return e*2
        }else if(e%2==1){
            return e*3
        }
    });
   return newNums 
}

console.log(newArray([1,2,3,4,5]));  // output: [3,4,9,8,15]

Daha okunaklı olduğu için ben çoğu zaman Arrow Fonksiyonunu kullanmayı tercih ediyorum. Umarım sağladığı güzellikler şuan daha iyi anlaşılmıştır ve faydalı bir yazı olmuştur.


Kaynaklar

https://dmitripavlutin.com/differences-between-arrow-and-regular-functions/

https://www.freecodecamp.org/news/when-and-why-you-should-use-es6-arrow-functions-and-when-you-shouldnt-3d851d7f0b26/

Previous
Next

Lesson discussion

Swap insights and ask questions about “JavaScript”.

Enroll to participate
Start the course to unlock the discussion. Enrolling helps us keep conversations relevant to learners.
Cohorts
WebsiteDiscoverBlogPatika.devRise In
CoursesCircleRustSoliditySolanaWeb3 FundamentalsBlockchain Basics
CompanyAbout UsTerms of UsePrivacy PolicyGDPR NoticeCookies
Don't miss any update!

Disclaimer: The information, programs, and events provided on https://cohorts.patika.dev is strictly for upskilling and networking purposes related to the technical infrastructure of blockchain platforms. We do not provide financial or investment advice, nor do we make any representations regarding the value, profitability, or future price of any blockchain or cryptocurrency. Users are encouraged to conduct their own research and consult with licensed financial professionals before engaging in any investment activities. https://cohorts.patika.dev disclaims any responsibility for financial decisions made by users based on the information provided here.

© 2026 Cohorts, All rights reserved