JavaScript-daky Atly Funksional Ifadeler
Bizde şeýle funksional ifade bar bolsun:
let test = function() {
console.log('!');
};
test(); // '!' çap eder
Geliň funksiýamyza func atyny bereliň:
let test = function func() {
console.log('!');
};
test();
Bilindigiňiz ýaly, bu at bilen funksiýa çagyrylmaýar:
let test = function func() {
console.log('!');
};
test(); // '!' çap eder
func(); // säwlik bereder
Eger funksiýa çagyrylmaýan bolsa, näme üçin oňa at bermeli? Sebäbi, bu at funksiýanyň daşynda elýeterli däl, ýöne funksiýanyň içinde elýeterli bolar.
Geliň barlalyň:
let test = function func() {
console.log(func); // funksiýa öz çeşmesini çap eder
};
test(); // funksiýany çagyrýarys
Geliň funksiýamyzy öz içinde çagyralyň:
let test = function func() {
console.log('!'); // '!' çap edýäris
func(); // özümizi çagyrýarys
};
test();
Eger bu kody işletsek, konsola çykyşlar çäksiz mukdarda dowam eder.
Aslynda, funksiýamyz öz içinde diňe func hökmünde däl, eýsem test hökmünde hem çagyrylyp bilner:
let test = function func() {
console.log('!');
test(); // özümizi çagyrýarys
};
test();
Tapawudy näme? Tapawut şonda ýatýar, test at diňe üýtgeýän görnüşi. Skriptiň işleýişi dowamynda funksiýamyz başga bir üýtgeýjä ýazylýar ýa-da parametr hökmünde geçirilip bilner - bu ýagdaýda test üýtgeýjisi bilen funksiýa arasyndaky baglanyşyk ýitip biler.
func aty bolsa, diňe funksiýanyň içinden ýüzlenmek üçin funksiýa berk baglanyşdyrylan.
Funksiýanyň aty bilen şeýle Function Expression-lar atly funksional ifadeler diýilýär.