Sobes.tech
Junior

Funktsiyalar yaratishning qanday usullarini bilasiz?

sobes.tech AI

AIdan javob

JavaScriptda funksiyalarni yaratishning bir necha usullari mavjud, har biri o'z xususiyatlariga ega:

  1. Funksiya e'lonlari: Klassik funksiyani yaratish usuli. Ular (hoisted) yuqoriga ko'tariladi (hoisted) va bu ularni e'lon qilishdan oldin chaqirishga imkon beradi.

    // function yordamida funksiyani e'lon qilish
    function greet(name) {
      return "Salom, " + name + "!";
    }
    
  2. Funksiya ifodalar: Funksiya ifoda qismi sifatida yaratiladi va o'zgaruvchiga tayinlanadi. Ular (not hoisted) funksiyalar e'lonlari kabi ko'tarilmaydi.

    // Funksiya ifodasi
    const greet = function(name) {
      return "Salom, " + name + "!";
    };
    
  3. Arrow Functions (Qalam funksiyalari): Funksiya ifodalar uchun qisqacha sintaksis shakli. Ular this va o'z argumentlari (arguments) bo'lmasligi bilan klassik funksiyalardan farq qiladi.

    // Qalam funksiyasi
    const greet = (name) => {
      return "Salom, " + name + "!";
    };
    
    // Qisqacha shakli, no-implicit return bilan
    const greetShort = (name) => "Salom, " + name + "!";
    
  4. Constructor Functions (Konstruktor funksiyalar): Ob'ektlar yaratish uchun ishlatiladi. new kalit so'zi bilan chaqiriladi.

    // Konstruktor funksiyasi
    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    // Konstruktor yordamida nusxa yaratish
    const person1 = new Person("Aleksei", 30);
    
  5. Class Methods (Sinf metodlari): Sinflarda (sintaktik shakar prototip meroslik ustida) funksiyalar metodlar sifatida belgilangan.

    // Sinf bilan metod e'lon qilish
    class Greeter {
      greet(name) {
        return "Salom, " + name + "!";
      }
    }
    
    // Sinf nusxasini yaratish va metodni chaqirish
    const greeter = new Greeter();
    const message = greeter.greet("Dunyo");
    
  6. Immediately Invoked Function Expressions (IIFE): Darhol bajariladigan funksiyalar ifodasi. Mahalliy muhit yaratish uchun ishlatiladi.

    // IIFE
    (function() {
      // IIFE ichidagi kod
      console.log("Bu funksiya darhol bajariladi!");
    })();
    

Har bir usulning o'z afzalliklari va kamchiliklari bor, va tanlov aniq vazifa va kontekstga bog'liq.