IdoCleanCode
article thumbnail
728x90

 

Node.js로 이름과 나이를 입출력 하는 콘솔 프로그래밍을 해보겠습니다.

https://www.youtube.com/watch?v=zQiriAmko1o

[Node.js] 간단한 입출력 콘솔 프로그램

 

1. 1. 디렉토리 설정

프로젝트의 디렉토리 만들기 위해 터미널에서 mkdir 명령어나 편집기에서 폴더 생성 사용하여 아래의 구도 처럼 설정을 합니다.

<bash />
input_output_program/ └── app.js

 

2. 2. 코드 설명

2.1. readline 모듈 불러오기

<javascript />
// app.js const readline = require('readline');

Node.js 내장 모듈인 readline을 불러와서 사용자 입력을 처리합니다.

 

2.2. createInterface 

<javascript />
// app.js // readline 인터페이스 생성 const rl = readline.createInterface({ input: process.stdin, output: process.stdout });

createInterface메서드는 입출력을 처리할 인터페이스를 생성합니다. 이 메서드는 두개의 매개변수 input과 output을 받습니다.

  • input: procsess.stdin
    process.stdin은 사용자가 키보드를 입력하는 데이터를 받을 수 있는 채널입니다. 사용자가 터미널에서 입력한 내용을 엔터키로 제출하면, 이 데이터가 프로그램을 통해 전달됩니다.
  • output: process.stdout
    process.stdout은 프로그램이 사용자에게 결과를 출력하는 채널입니다. 이를 통해 프로그램은 입력한 정보를 터미널에 출력할 수 있습니다.

자세한 내용은 https://nodejs.org/dist/latest-v18.x/docs/api/readline.html#readlinepromisescreateinterfaceoptions 참고 하세요

 

2.3. 사용자에게 질문하기 

<javascript />
rl.question('당신의 이름은 무엇 입니까?', (name) => { rl.question('당신의 나이은 어떻게 됩니까? ', (age) => { console.log(`당신의 이름은 ${name}이고, 나이는 ${age} 입니다.`) rl.close() }) })

question 메서드는 사용자에게 질문을 출력하고 입력할 때까지 기다립니다. 사용자가 엔터키를 누르면 입력된 데이터가 콜백 함수로 전달됩니다. 다음은 question 기본 구문입니다.

<javascript />
rl.question(query, callback);
  • query(문자열): 사용자에게 보여질 질문 메세지이고 콘솔에 출력되며 사용자가 입력되기 전에 표시되니다.
  • callback(함수): 사용자가 입력을 완료하고 엔터키를 누르면 호출되는 함수입니다. 이 함수는 사용자가 입력한 내용의 매개변수로 받습니다.

 

2.4. 인터페이스 종료

<javascript />
rl.close();

생성된 readline 인터페이스를 종료 하는 역할입니다.

 

3. 3. 전체 코드

<javascript />
const readline = require('readline') const rl = readline.createInterface({ input: process.stdin, output: process.stdout }) rl.question('당신의 이름은 무엇 입니까?', (name) => { rl.question('당신의 나이은 어떻게 됩니까? ', (age) => { console.log(`당신의 이름은 ${name}이고, 나이는 ${age} 입니다.`) rl.close() }) })

 

https://idocleancode.tistory.com/436

 

[Node.js] 학습 로드맵

Node.js 소개Node.js 이란?Node vs Browsernode.js실행모듈코드의 재사용성과 관리 용이성을 위해 독립적인 파일로구성된 자바스크립트 구성 요소 입니다.ESMCommonJs콘솔 프로그래밍간단한 I/O 프로그램참고

idocleancode.tistory.com

 

728x90
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

IdoCleanCode님의
글이 좋았다면 응원을 보내주세요!