event는 click, load, keydown 등등 아주 많았다. 특정 HTMLElement에 addEventListener로 해당 이벤트가 발생할 때 특정 함수를 실행하도록 하면, 이 함수에 event Object를 만들어 argument로 자동으로 전달한다고 한다.
다만, 함수를 선언할 때 event 객체를 전달받을 첫번째 parameter를 명시적으로 선언해두어야 한다고 한다.
function someFunction(a, b, c){
...
}
someFunction(1, 2, 3);
위에서 a, b, c는 parameter이고 1, 2, 3은 argument이다.
arguments는 어느 길이든 전달할 수 있다.
someFunction(1, 2, 3, 4, 5, ...)
someFunction(1, 2, 3)을 실행할 때, [1,2,3]이라는 array-like object인 arguments를 생성해서 전달한다고 한다.
stackoverflow 댓글에 멋진 명언이 있어서 가져와봤다.
"You define parameters, and you make arguments." - Greg M. Krsak