배운 내용에서 만들려고 하는 것보다 모르는 내용들을 처음 접하면서 만드는 과정들이 훨씬 많다는 것을 지금 코드를 짜면서 부딪히는 문제들이다. 숫자야구게임에 대해서 다른 사람들과 코드 리뷰를 하면서 어떤 식으로 접근을 하는지, 또 어떤 내용들을 추가를 해서 만들어 냈는지를 비교하면서 보는 재미도 있었고 나역시, 다른 사람들 코드를 보면서 많이 알게 되었다.
지금 자바스크립트 문법 강의를 들으면서 숫자야구게임을 만들어야 했는데, 처음에는 어떤 식으로 접근을 해야할지 감이 잘 안 잡혔다. 먼저 수도코딩을 짜서 아래와 같이 접근했다.
<숫자야구 게임 만들기>
1. 3자리 숫자 중복된 숫자없이 무작위 도출해서 만들기
2. 한자리 숫자에 대해 볼, 스크라이크 판단 하는 부분 구현하기
3. 볼, 스트라이크를 표현하는 부분 구현하기
4. 게임을 시작하는 부분과 게임을 종료하는 부분 구현하기
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl 객체를 통해 사용자의 입력을 받을 수 있으며, 입력을 받을 때마다 등록한 이벤트 리스너가 호출된다.
이벤트 리스너를 통해 사용자의 입력에 따른 동작을 정의할 수 있다.
앞서 언급한 rl.on("line", callback) 코드에서 "line" 이벤트가 발생할 때마다 callback 함수가 실행되며,
사용자가 입력한 내용이 이 함수의 인자로 전달된다.
line 이벤트 : readline 모듈에서 "line" 이벤트는 사용자가 입력한 한 줄의 텍스트를 완성했을 때 발생한다.
사용자가 엔터(줄 바꿈) 키를 누르면 이벤트가 발생하며, 그에 대한 처리를 이벤트 리스너가 담당한다.
콜백 함수 (Callback Function): 콜백 함수는 다른 함수에 인자로 전달되어 실행되는 함수.
콜백 함수는 보통 비동기적인 작업이나 이벤트 발생 시 특정 동작을 수행하기 위해 사용된다.
콜백 함수는 다른 함수의 실행이 완료되거나 이벤트가 발생했을 때 호출되며, 처리할 작업을 정의하는 역할을 한다.
오늘은 자바스크립트 강의에서 es6, 일급객체로서의 함수, Map과 Set의 내용을 정립했는데, 이 부분은 따로 정리해서 들고와야겠다. 객체지향프로그래밍인 자바스크립트... 나랑 빨리 친해지길 바래... 😂![]