Sobes.tech
Junior

როგორ შექმნის ფუნქციებს იცით?

sobes.tech AI

პასუხი AI-სგან

JavaScript-те функцияларды түзүүнүн бир нече жолдору бар, ар бири өзүнүн өзгөчөлүктөрү менен:

  1. Функция декларациялары (Function Declarations): Классикалык ыкма функция түзүү. Алар (hoisted) жогору көтөрүлүп, көрүү чөйрөсүндө, аларды декларациялоодон мурун чакырууга мүмкүндүк берет.

    // function аркылуу функцияны декларациялоо
    function greet(name) {
      return "Салам, " + name + "!";
    }
    
  2. Функциялык экспрессиялар (Function Expressions): Функция экспрессиянын бир бөлүгү катары түзүлүп, өзгөрмөгө берилет. Алар (not hoisted) ошол эле деңгээлде көтөрүлбөйт, функция декларацияларына караганда.

    // Функциялык экспрессия
    const greet = function(name) {
      return "Салам, " + name + "!";
    };
    
  3. Жол функциялары (Arrow Functions): Кыска синтаксис формасы функциялык экспрессиялар үчүн. Алар классикалык функциялардан айырмаланып, this жана өз аргументтерин (arguments) жокко чыгарат.

    // Жол функциясы
    const greet = (name) => {
      return "Салам, " + name + "!";
    };
    
    // Жол функциясынын кыска формасы, жекече кайтаруу менен
    const greetShort = (name) => "Салам, " + name + "!";
    
  4. Куруучу функциялар (Constructor Functions): Объекттер түзүү үчүн колдонулат. new ачкыч сөзү менен чакырылат.

    // Куруучу функция
    function Person(name, age) {
      this.name = name;
      this.age = age;
    }
    
    // Куруучу аркылуу объекттин үлгүсүн түзүү
    const person1 = new Person("Алексей", 30);
    
  5. Класс методдору (Class Methods): Класстарда (прототипке негизделген мураска үстөмдүк кылган синтаксис) функциялар метод катары аныкталат.

    // Метод менен класс аныктоо
    class Greeter {
      greet(name) {
        return "Салам, " + name + "!";
      }
    }
    
    // Класс үлгүсүн түзүү жана методду чакыруу
    const greeter = new Greeter();
    const message = greeter.greet("Дүйнө");
    
  6. IIFE (Тез арада чакырылган функциялар): Функциялык экспрессия, ал түзүлгөндөн кийин дароо аткарылат. Локалдуу көрүнүш чөйрөсүн түзүү үчүн колдонулат:

    // IIFE
    (function() {
      // IIFE ичиндеги код
      console.log("Бул функция дароо аткарылат!");
    })();
    

Ар бир ыкма өзүнүн артыкчылыктары жана кемчиликтери бар, жана тандоо конкреттүү тапшырмага жана контекстке көз каранды.