fbpx

JavaScript-ийн => тэмдэглэгээ бүхий arrow функц нь код бичих хэлбэрийг илүү цэгцтэй, товч бөгөөд ойлгомжтой болгож өгдөг. Хэрвээ та JavaScript сурч байгаа эсвэл кодоо илүү цэвэрхэн, орчин үеийн байдлаар бичихийг хүсэж байвал arrow функц бол заавал сурах зүйлсийн нэг юм.

Arrow функц гэж юу вэ?

🏹Arrow функц бол JavaScript-д функц зарлах шинэ, товч хэлбэр юм. Энэ нь:

  • Богино бичиглэлтэй
  • this түлхүүр үгийн хэрэглээг илүү ойлгомжтой болгож өгдөг

Энгийн функц ба arrow функцийн ялгаа

Синтакс

Arrow функцийн бичиглэлүүд:

const nemeh = (a, b) => a + b; // Энд 2 параметртэй жишээг бид харж байна.
const kvadrat = x => x * x; // Нэг параметртэй үед хаалт ашиглах хэрэггүй.
const randomToo = () => Math.random(); // Параметр байхгүй үед
const urjih = (a, b) => {
  const hariu = a * b;
  return hariu;
};
// Дээрх байдлаар бид arrow функцийг хэрэгжүүлж болно.

Arrow функцийн давуу тал

1. Богино бичиглэл

Хэрэггүй код багасч, гол санаа нь тод харагдана.

2. this -ийг бид дахин тодорхойлох шаардлаггүй.

class Toologch {
  constructor() {
    this.too = 0;
  }

  ehleh() {
    setInterval(() => {
      this.too++; 
      console.log(this.too);
    }, 1000);
  }
}

arrow функц ашигласан тул this нь гадна байгаа ehleh() функцийн this-ийг шууд өвлөж авна

Харин уламжлалт функц ашиглавал юу болох вэ?

setInterval(function() {
  this.too++;        // this энд undefined болж магадгүй
  console.log(this.too);
}, 1000);

Энд this нь Toologch классыг биш, setInterval-ийн өөрийн хүрээг зааж байгаа тул алдаа өгнө эсвэл undefined болно.

ehleh() {
  setInterval(function() {
    this.too++;
    console.log(this.too);
  }.bind(this), 1000); //bind(this) хийх хэрэгтэй болдог
}

Хэзээ arrow функц ашиглаж болохгүй вэ?

Arrow функц бүх тохиолдолд тохиромжтой биш. Доорх нөхцөлд зайлсхийх хэрэгтэй:

  • this-ийг динамикаар ашиглах шаардлагатай үед (жишээ нь объектын метод)
  • Байгуулагч функц үүсгэх үед
  • arguments объект хэрэглэх бол (оронд нь rest parameters ашигла)

Дүгнэлт

Arrow функц бол JavaScript-д илүү товч, цэгцтэй код бичих боломжийг олгодог. Та энэ синтаксийг эзэмшсэнээр:

  • Илүү хурдан код бичих
  • Алдаа багатай логик бичих
  • this ашиглалтаа ойлгомжтой болгох

боломжтой.

Leave a Reply