Arrow funksiyalar
Ok funksiyalari Function ifodalari uchun qisqaroq sintaksisga imkon beradi.
Funksiya kalit so‘zini, return kalit so‘zini va jingalak qavslarni o‘tkazib yuborishingiz mumkin:
const multiply = (a, b) => a * b;
O‘zingiz sinab ko‘ring »
Ok funksiyalari ES6 da joriy qilingan va odatda zamonaviy JavaScript-da qo‘llaniladi.
Ok funksiyasi sintaksisi
Ok funksiyasi => belgisidan foydalanadi.
Ok funksiyasi har doim Function ifodasi sifatida yoziladi.
Misol
const add = (a, b) => {
return a + b;
};
Bu strelka funksiyasi oddiy Function ifodasi bilan bir xil ishni bajaradi.
Qisqacha sintaksis
Agar funksiya tanasi faqat bitta operatordan iborat bo‘lsa:
Siz so‘z funksiyasini, jingalak qavslarni va return kalit so‘zini olib tashlashingiz mumkin.
Okdan oldin
a va b ko‘paytmasini hisoblash funksiyasi:
const multiply = function(a, b) {return a * b}
Bitta parametrli Arrow funksiyasi
Agar funksiya faqat bitta parametrga ega bo‘lsa, siz qavslarni tashlab qo‘yishingiz mumkin:
Qavslar bilan
const square = (x) => x * x;
O‘zingiz sinab ko‘ring »
Qavslarsiz
const square = x => x * x;
O‘zingiz sinab ko‘ring »
Qavslar bilan
const hello = (val) => "Hello " + val;
O‘zingiz sinab ko‘ring »
Qavslarsiz
const hello = val => "Hello " + val;
O‘zingiz sinab ko‘ring »
Ok funksiyalari sukut bo‘yicha qiymatni qaytaradi
Agar funksiyada qiymat qaytaradigan faqat bitta operator bo‘lsa:
Qavslar va return kalit so‘zini olib tashlashingiz mumkin:
Bu Function faqat bitta operatorga ega bo‘lsa ishlaydi.
Ok funksiyasi parametrlari
Agar sizda parametrlar bo‘lsa, ularni qavs ichiga o‘tkazasiz:
Agar sizda faqat bitta parametr bo‘lsa, qavslarni ham o‘tkazib yuborishingiz mumkin:
Parametrsiz Arrow funksiyalari
Parametrlar bo‘lmasa, qavslar kerak bo‘ladi.
Agar funksiya bitta operator bo‘lsa, faqat return kalit so‘zini va jingalak qavslarni o‘tkazib yuborishingiz mumkin. Shu sababli, ularni doimo ushlab turish yaxshi odat bo‘lishi mumkin:
Misol
// This will return undefined
const myFunction = (x, y) => { x * y };
// This will return undefined
const myFunction = (x, y) => return x * y;
// This will return the expected result
const myFunction = (x, y) => { return x * y };
O‘zingiz sinab ko‘ring »
Ok funksiyalari deklaratsiya emas
Arrow funksiyalari har doim ifodalar bo‘lib, o‘zgaruvchiga tayinlanishi kerak.
Ularni aniqlashdan oldin foydalanish mumkin emas.
Misol
hello(); // Error
const hello = () => "Hello";
Arrow funksiyalari ularni ishlatishdan oldin aniqlanishi kerak.
Ok funksiyalari va this kalit so‘zi
Arrow funksiyalari o‘zlarining this qiymatiga ega emas.
Ular buni atrofdagi koddan meros qilib olishadi.
Misol
const person = {
name: "John",
greet: function() {
return this.name;
}
};
Arrow funksiyasidan usul sifatida foydalanish ko‘pincha kutilmagan natijalar beradi.
Misol
const person = {
name: "John",
greet: () => {
return this.name;
}
};
Bunday holda, bu shaxs obyektiga ishora qilmaydi.
Ok funksiyalaridan qachon foydalanish kerak
- Qisqa Functionlar uchun
- Callback-lar va Array usullari uchun
- Bu sizga o‘zingiz kerak bo‘lmaganda
Arrow funksiyalaridan qachon foydalanmaslik kerak
- Obyekt usullari sifatida
- Bu sizga kerak bo‘lganda
- Funksiya deklaratsiyasidan foydalanganda
Viktorina
Arrow funksiyalari va oddiy funksiyalar o‘rtasidagi muhim farq nima?
Umumiy xatolar
- Qavslar qoidalarini unutish Qavslar nol yoki bir nechta parametrlar uchun talab qilinadi.
- Arrow funksiyalarini usullar sifatida ishlatish Ok funksiyalari buni bog‘lamaydi.
- Hoisting Hoisting Arrow funksiyalari ko‘tarilmaydi.
Funksiyalar bo‘limining oxiri
Endi siz JavaScript Functionlar haqidagi eng muhim tushunchalarni bilib oldingiz.
Bilimingizni sinab ko‘rish uchun viktorinani sinab ko‘ring.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
