Arrow functions luwih ringkes, nanging prabédan nyata ana ing perilaku ikatan, ora mung sintaks.
const regular = function () {};
const arrow = () => {};
const short = x => x * 2; // implicit return for one expression
Arrow functions luwih ringkes, nanging prabédan nyata ana ing perilaku ikatan, ora mung sintaks.
const regular = function () {};
const arrow = () => {};
const short = x => x * 2; // implicit return for one expression
1. Ora duwe this dhewe — panah tumurun this saka cakupan sing nunutup. Iki beda paling penting lan kenapa padha apik banget kanggo callback:
const timer = {
seconds: 0,
start() {
setInterval(() => this.seconds++, 1000); // ✅ `this` is timer
// a regular function here would have its own `this` (undefined) → bug
},
};
2. Ora duwe obyek arguments — gunakake rest parameters kebak:
const sum = (...args) => args.reduce((a, b) => a + b, 0);
3. Ora bisa digunakake minangka konstruktor — new arrow() ngomong, lan ora duwe prototype.
const obj = {
name: "Ann",
greet: () => `Hi ${this.name}`, // ❌ `this` is NOT obj (it's outer scope)
greet2() { return `Hi ${this.name}`; }, // ✅ method needs dynamic `this`
};
Jangan gunakake panah kanggo metode obyek (ora bakal ikatan ing obyek) utawa yen butuh this dinamis/arguments (pamidhandel acara sing ngandelake this minangka elemen).
Gunakake panah kanggo callback lan fungsi pendek ing ngendi tumurun this iku apa sing dikarepake; gunakake fungsi biasa kanggo metode, konstruktor, lan metode prototyp.
Pustaka pitakon wawancara IT kanthi jawaban rinci — saka Junior nganti Senior.
Nyumbang