
이런 식으로 코드를 짜봤습니다. 첫째에서 콜백에 () 가 붙어야 정상적으로 실행되는 것은 알지만 , 만약 이렇게 코드를 짰을땐 어떻게 작동하는지 궁금합니다.
우선 제가 생각한 결과는,
1. 195줄 에서 둘째()를 만나, 콘솔창에 2가 나옴
2.이후 첫째 함수에 둘째()라는 변수가 들어온채로 실행됨. 그래서 187번의 콘솔이 작동해 1이 찍힘
3.마지막으로 변수로 들어온 둘재()가 콜백이라는 파라미터에 끼워지면서 실행돼 콘솔창에 2가 나옴
그래서 결과적으로 콜솔창에
2
1
2
이렇게 나온다고 생각했습니다. 이 코드가 순차적인 실행된 콜백함수는 아니었지만, 그것이랑 별개로 제 예상과 결과가 다른 이유가 궁금합니다.
보시다시피 오류는 따로 나오지 않고 결과는 2 가 나오고 1만 나오고 끝입니다.
혹시 이 코드는 어떤 과정으로 실행되서 결과가 나온걸까요? 코드가 실행된 과정이 궁금합니다 ㅠㅠ
(혹시 줄195에서 둘째()를 만나서 콘솔에 찍혀 실행이 끝나고, 195의 첫째엔 파라미터가 들어오지 않은채로 첫째함수가 실행되어 결과로
2
1
이렇게 찍힌걸까요? 자바스크립트에서는 실행된 코드는 없는 샘으로 친다던가 뭐 그런식으로 작동해서 말이죠.)