본문 바로가기
내일배움 정리/JS 문법 공부

input 받기

by GREEN나무 2024. 12. 3.
728x90

콘솔에서

// 질문을 통해 입력 받기
rl.question("질문 내용", (answer) => {
    // 사용자가 입력한 값은 answer에 저장됨
});


// 입력 종료
rl.close();

 

더보기
const readline = require("readline");

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

function solution(num1, num2) {
    return num1 - num2;
}

function main() {
    rl.question("첫 번째 숫자를 입력하세요: ", (input1) => {
        if (isNaN(input1)) {
            console.log("숫자만 입력하세요.");
            rl.close();
            return;
        }

        rl.question("두 번째 숫자를 입력하세요: ", (input2) => {
            if (isNaN(input2)) {
                console.log("숫자만 입력하세요.");
                rl.close();
                return;
            }

            const a = Number(input1);
            const b = Number(input2);

            if (a >= -50000 && a <= 50000 && b >= -50000 && b <= 50000) {
                const result = solution(a, b);
                console.log(`결과: ${result}`);
            } else {
                console.log("-50000 ~ 50000 사이의 값을 입력하세요.");
            }
            rl.close();
        });
    });
}

main();

input 문법 설명
JavaScript에서 readline 모듈을 사용하여 사용자의 입력을 처리하는 방식은 다음과 같습니다:

1. readline 모듈 초기화

const readline = require("readline");


readline은 Node.js에서 제공하는 기본 모듈로, 콘솔에서 입력과 출력을 처리합니다.


2. 인터페이스 생성

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

input: 입력 스트림 (process.stdin)을 설정.
output: 출력 스트림 (process.stdout)을 설정.

 

readline.createInterface()는 Node.js 환경에서 콘솔로 사용자 입력을 처리하려고 할 때 일반적으로 사용되는 메서드입니다.

readline.createInterface()를 사용해야 하는 경우
   - 대화형 입력(질문-응답)이 필요할 때 적합합니다.
   - 여러 입력에 대해 비동기로 처리할 수 있습니다.
   - 표준 입력과 출력을 연결하므로 간단한 입력/출력 작업에 유용합니다.


3. 질문을 통해 입력 받기

rl.question("질문 내용", (answer) => {
    // 사용자가 입력한 값은 answer에 저장됨
});


첫 번째 인자: 사용자에게 표시될 메시지.
두 번째 인자: 사용자가 입력한 데이터를 콜백 함수의 매개변수로 전달.


4. 입력 종료

rl.close();


입력 프로세스를 종료하여 프로그램이 종료 상태로 이동합니다.
5. 숫자 변환

문자열로 들어온 데이터를 Number()를 사용하여 숫자로 변환.
이때, 유효하지 않은 문자열이면 NaN이 반환되므로, 반드시 isNaN()으로 유효성 검사를 해야 합니다.

'내일배움 정리 > JS 문법 공부' 카테고리의 다른 글

화살표함수(작성중)  (0) 2024.12.03
형변환, 숫자의 진법변환  (0) 2024.12.03
배열  (0) 2024.12.03
Math메서드(method)  (1) 2024.12.03
연산 기호 - 같다, 같지 않다 (==, ===, !=, !==  (0) 2024.12.03