JavaScript: улучшаем понимание работы функций
Классически функция объявляется используется примерно так:
1 2 3 |
function Inc(s,n){ return s+n; }; |
Однако её можно объявить и так:
1 2 3 |
const Inc=(s,n)=>{ return s+n; } |
Кроме того! Можно еще короче, используя не явный return:
1 |
const Inc=(s,n)=>s+n; |
Такие сокращения мне не очень нравятся (дело привычки больше), но тем не менее их удобно применять в некоторых случаях. Например если необходимо вернуть объект, как результат функции выйдет даже несколько понятнее:
1 2 3 4 5 6 7 8 |
const People=(name,soname,age,comment)=>({ name:name, soname:soname, age:age, comment:comment }); aa=People("Вася","Сидоров",18,"Вася обычный школьник") |
Или например добавить событие onClick к кнопке на странице при помощи стрелочных функций:
1 2 3 4 |
but=document.getElementById('#button1'); but.onclick=()=>{ console.log("Вася нажал кнопку"); } |
Выглядит гораздо проще, чем если бы мы использовали «классическую» запись:
1 2 3 4 5 6 |
function VasyaPress(){ console.log("Вася нажал кнопку"); }; but=document.getElementById('#button1'); but.onclick=VasyaPress(); |
Но! только если код внутри функции не сильно длинный. Иначе всё превращается в кашу.