January 6

Js Functions

1. Funksiyalarning turlari va ularning farqlari:

Savol: JavaScriptda funksiyalarning qanday turlari mavjud? Deklaratsiya qilingan funksiya bilan ifoda qilingan funksiya (function expression) o'rtasidagi farq nima?

Javob: JavaScriptda asosiy ikki turdagi funksiyalar mavjud: deklaratsiya qilingan funksiyalar va ifoda qilingan funksiyalar.

  • Deklaratsiya qilingan funksiya:
function sum(a, b) {
    return a + b;
}

Bu funksiya hoisting deb ataladigan jarayon orqali funksiya e'lon qilingandan oldin ham chaqirilishi mumkin.

  • Ifoda qilingan funksiya (function expression):

const sum = function(a, b) {

return a + b;

Bu funksiya e'lon qilingandan keyin chaqirilishi mumkin. Ifoda qilingan funksiyalar hoisting qilinmaydi.

2. Arrow funksiyalari:

Savol: Arrow funksiyalari nima va ular qanday qo'llaniladi? Arrow funksiyalarining odatiy funksiyalardan asosiy farqlari nimalarda namoyon bo'ladi?

Javob: Arrow funksiyalari qisqa va konsiz sintaksisga ega funksiyalardir va this kalit so'ziga bo'lgan aloqani o'zgartiradi.

  • Arrow funksiya:

const sum = (a, b) => a + b;Asosiy farqlar:

  • this kalit so'zi o'zgarmaydi, ya'ni arrow funksiya yaratish vaqtida qiymatini saqlaydi.
  • Arrow funksiyalari konstruktor sifatida ishlatilmaydi va new operatori bilan chaqirilmaydi.

3. Callback funksiyalari:

Savol: Callback funksiyalari nima va ular qanday ishlaydi? Biror misol bilan callback funksiyasini tushuntirib bera olasizmi?

Javob: Callback funksiyalari boshqa funksiya tugallangandan keyin chaqiriladigan funksiyalardir.

  • Misol:
function fetchData(callback) {
   setTimeout(() => {
   callback('Data fetched');
   }, 2000);
}

function logData(data) {
    console.log(data);
}
fetchData(logData);

Bu yerda logData funksiya fetchData funksiyasiga callback sifatida o'tkaziladi va setTimeout tugagandan keyin chaqiriladi.

4. Asynchronous funksiyalari:

Savol: Asynchronous funksiyalari va promise'lar haqida tushuntirib bera olasizmi? Async/Await sintaksisini tushuntirib bera olasizmi va qachon qo'llaniladi?

Javob: Asynchronous funksiyalar boshqa kod bajarilishi davomida boshlanadigan jarayonlarni bajarishga imkon beradi va natija tayyor bo'lganda keyin davom etadi.

Promise:

const fetchData = new Promise((resolve, reject) => {
   setTimeout(() => {
   resolve('Data fetched');
   }, 2000);
});
fetchData.then(data => console.log(data));

Async/Await:

async function getData() {
   const data = await fetchData;
   console.log(data);
}
getData();

async kalit so'zi funksiyani asinxron holga keltiradi, await esa promise natijasini kutib turadi.

5. Higher-order funksiyalari:

Savol: Higher-order funksiyalari nima va ular qanday ishlaydi? Biror misol bilan higher-order funksiyasini tushuntirib bera olasizmi?

Javob: Higher-order funksiyalar boshqa funksiyalarni argument sifatida qabul qiladigan yoki funksiyani natija sifatida qaytaradigan funksiyalardir.

  • Misol:
function createMultiplier(multiplier) {
        return function(x) {
        return x * multiplier;
   }
}
const double = createMultiplier(2);
console.log(double(5)); // 10

Bu yerda createMultiplier higher-order funksiyasi bo'lib, funksiya qaytaradi.