Is iad feidhmeanna saighead níos giorra, ach is iad na difríochtaí fíor ná i iompar ceangail, ní dhéanamh sintéacs amháin.
const regular = function () {};
const arrow = () => {};
const short = x => x * 2; // implicit return for one expression
Is iad feidhmeanna saighead níos giorra, ach is iad na difríochtaí fíor ná i iompar ceangail, ní dhéanamh sintéacs amháin.
const regular = function () {};
const arrow = () => {};
const short = x => x * 2; // implicit return for one expression
1. Gan this féin — tugann saighead oidhreachtú ar this ó an scóip dhúnaithe. Is é seo an difríochta is tábhachtaí agus an chúis ar iad a bheith iontach do na n-ionchur:
const timer = {
seconds: 0,
start() {
setInterval(() => this.seconds++, 1000); // ✅ `this` is timer
// a regular function here would have its own `this` (undefined) → bug
},
};
2. Gan réad arguments — úsáid paraiméadair fuill ina ionad sin:
const sum = (...args) => args.reduce((a, b) => a + b, 0);
3. Ní féidir a úsáid mar ghréasáin — new arrow() a chaitheamh, agus níl prototype acu.
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`
};
Ná húsáid saighead do modhanna réada (ní bheidh siad ceangailte don réad) nó nuair a bhíonn gá agat do this dinimiciúil/arguments (láimhdeoir imeall a bhraitheann ar this a bheith an eilimint).
Úsáid saighead do ionchur agus gearrfheidhmeanna áit a bhíonn oidhreachtú ar this ag iarraidh tú; úsáid feidhmeanna rialta do mhodhanna, gréasáin agus modhanna prótacail.