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.
function sum(a, b) {
return a + b;
}Bu funksiya hoisting deb ataladigan jarayon orqali funksiya e'lon qilingandan oldin ham chaqirilishi mumkin.
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.
const sum = (a, b) => a + b;Asosiy farqlar:
thiskalit so'zi o'zgarmaydi, ya'ni arrow funksiya yaratish vaqtida qiymatini saqlaydi.- Arrow funksiyalari konstruktor sifatida ishlatilmaydi va
newoperatori 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.
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.
const fetchData = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Data fetched');
}, 2000);
});
fetchData.then(data => console.log(data));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.
function createMultiplier(multiplier) {
return function(x) {
return x * multiplier;
}
}
const double = createMultiplier(2);
console.log(double(5)); // 10Bu yerda createMultiplier higher-order funksiyasi bo'lib, funksiya qaytaradi.