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.

ULASHISH

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}

O‘zingiz sinab ko‘ring »

Ok bilan

const multiply = (a, b) => a * b;

O‘zingiz sinab ko‘ring »

Ok bilan

const hello = () => "Hello World!";

O‘zingiz sinab ko‘ring »

Okdan oldin

const hello = function() {return "Hello World!";}

O‘zingiz sinab ko‘ring »


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:

Misol

const hello = () => "Hello World!";

O‘zingiz sinab ko‘ring »

Bu Function faqat bitta operatorga ega bo‘lsa ishlaydi.


Ok funksiyasi parametrlari

Agar sizda parametrlar bo‘lsa, ularni qavs ichiga o‘tkazasiz:

Misol

const hello = (val) => "Hello " + val;

O‘zingiz sinab ko‘ring »

Agar sizda faqat bitta parametr bo‘lsa, qavslarni ham o‘tkazib yuborishingiz mumkin:

Misol

const hello = val => "Hello " + val;
bu

O‘zingiz sinab ko‘ring »


Parametrsiz Arrow funksiyalari

Parametrlar bo‘lmasa, qavslar kerak bo‘ladi.

Ok funksiyasi bilan:

const hello = () => "Hello World!";

O‘zingiz sinab ko‘ring »

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.

JavaScript funksiyalari bo‘yicha viktorina



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!