Објект Event при преносу параметара

Претпоставимо да имамо неку функцију func, коју желимо да користимо као руковаоца догађаја. Претпоставимо да та функција прима неки параметар:

jsxfunction func(arg) {
  console.log(arg);
}

Хајде да користимо ову функцију као руковаоца, прослеђујући јој параметар:

jsxfunction App() {
  function func(arg) {
    console.log(arg);
  }
  
  return <div>
    <button onClick={() => func('eee')}>акција</button>
  </div>;
}

Претпоставимо сада да, поред параметра, желимо да добијемо у нашој функцији објект Event. За то треба да поступимо на следећи начин:

jsxfunction App() {
  function func(arg, event) {
    console.log(arg, event);
  }
  
  return <div>
    <button onClick={event => func('eee', event)}>акција</button>
  </div>;
}
Задание 1

Објасните како дати код функционише.

Задание 2

Измените дати код тако да функција прима два параметра.

Задание 3

Модификујте претходни задатак тако да се објект догађаја преноси као први параметар функције, а не као последњи.

Задание 4

Модификујте претходни задатак тако да се објект догађаја преноси као други параметар функције, налазећи се између првог и трећег параметра.