JavaScriptda "First class function" tushunchasi

JavaScriptda "First class function" tushunchasi

Rajabov Doston

Assalomu aleykum hammaga. Ko'rib turganingizday bugungi maqola orqali biz "First class function" haqida gaplashamiz.

Keling dastlab oddiy funksiya yozilishini ko'rib chiqamiz:

function sayHello(){
console.log('Hello world');
}
sayHello(); //Hello world

Funksiyalar faqatgina shu holatda ishlatilmaydi.Biz funksiyalarni boshqa funksiyalarga argument sifatida uzatishimiz, boshqa funktsiyalardan qiymatlar sifatida qaytarishimiz, boshqa funksiya ichida return qilib qaytarishimiz ham mumkun.

Mana shu kabi funksiyalarga "First class functions" deyiladi.


1.Funktsiyalarni argument sifatida uzatish

function greet(name) {
return "Hello, " + name + "!";
}
function saySomething(greetingFunction, name) {
return greetingFunction(name);
}
console.log(saySomething(greet, "John")); // Hello, John!


Ushbu misolda greet(name) funksiya mavjud va u name ni qaytaradi. Ikkinchi funksiya saySomething(greetingFunction, name) esa argument sifatida greetingFunction ni va oz'garuvchi sifatida name ni qabul qiladi va uni qaytaradi. Biz saySomething(greet, "John") funksiyasini ishga tushiramiz va unga greet funksiyasini va 'John' qiymatini berib yuboramiz. Natijasini esa yuqorida ko'rib turibsiz.

Aynan shu yerda "first class function" tushunchasi ishlaydi.


2. Funksiyani boshqa bir funksiya ichida return qilish

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


Bu holatda multiplier(2) funksiyasini ishga tushirish orqali natijasini double ga o'zlashtiryapmiz va double() ni ishga tushirish orqali asosiy funksiya ichida return qilingan ikkinchi funksiyani ishga tushiryapmiz.


3. Funksiyani o'zgaruvchiga berib yuborish

const square = function(x) {
return x * x;
};
console.log(square(4)); // 16


Ushbu maqola orqali "first class functions" nima ekanligini ham bilib oldik.

Maqolada yo'l qo'yilgan imloviy xatolarga e'tibor bermaysiz degan umiddaman 😉😉

Bizning manzillar:

Youtube:link

Telegram:link




Report Page