함수는 반복적인 코딩을 줄여주기 때문에, 언제든 한 번 만들어두면 필요할 때 호출하여 쓸 수 있습니다. 그야말로 컴퓨터가 가장 잘 할 수 있는 작업이죠.
지난 5일간 반복적으로 학습한 것도 함수를 작성하는 일이었습니다. 조건문 또는 반복문을 함수 내부에 만들어 주어진 문제를 해결하는 함수를 만들며 코딩과 익숙해지는 시간을 가졌습니다.
처음 함수를 접하면 쉽게 놓치는 부분중 하나가 리턴입니다. 열심히 조건문과 반복문을 작성해 원하는 코드를 작성하고 실행시켜보니 막상 리턴을 놓쳐버린 경우들이 생기더라구요.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/return
위의 링크는 리턴을 다루는 mdn 공식 문서입니다. 함수는 리턴을 만나면 실행을 중단하고 값을 반환한다는 것을 알 수 있습니다.
특히 함수중단 부분에서, console.log 를 활용해 반복문과 조건문이 결합되어 실행되는 와중 리턴을 만나게 되면 어떤 결과가 나오는지를 자세히 설명하고 있습니다. 저는 이 문서로 함수의 실행을 조금 더 확실하게 이해할 수 있었어요.
오늘의 글 서두에서는 프로그래머 사이에서 출처를 알 수 없이 떠도는 이야기를 하나 가져왔습니다. 바로 하나의 함수는 하나의 리턴을 가져야 한다는 주장입니다.
그러나 정말로 그런 것일까요? 여러가지로 검색해보니 예전의 언어들에서는 이를 권장하는 경우가 있었다고 합니다. 그러나 최소한 자바스크립트에서 통용되는 말은 아닌 것 같아요.
오히려 리턴을 빠르게 하면서 중첩되는 조건들을 간소화할 수 있는 여지가 충분하다고 생각합니다. 특히 여러개의 조건을 서로 다른 목적을 가지고 확인해야 하는 경우에, 빠른 리턴을 통해 함수의 목적이 보다 명확해질 수 있다고 생각하거든요.
1 개의 리턴 vs. 여러 개의 리턴, 여러분은 어떻게 생각하시나요? 여기에 대한 여러가지 생각을 담고 있는 링크를 하나 첨부하며 오늘의 TIL을 마무리하도록 하겠습니다.