JS - 조건문(Conditional)

Claire·2024년 9월 19일

조건문

분기문이라고도 하며, 어떤 특정 조건에 따라서 수행 루트를 분기하여 처리하는 문법

1. if문

  • 어떤 언어를 막론하고 조건문의 가장 기본이 되는 문법
  • 아직 일어나지 않은 일에 대한 내용
  • 이 조건이 만족할 수도 잇고, 만족 못할수도 있지만 그렇다고 조건 자체가 가능성이 전혀 없다면 조건의 의미가 없다.
  • 또한, 예외처리를 할 때에도 자주 사용된다.

기본적으로 자바스크립트는 유저와의 상호작용에 의해 작동하기 위한 언어이다. 이 말인 즉슨 사용자로부터 데이터를 입력받아 어떠한 기능을 동작한다는 것을 의미한다.
하지만, JS가 이러한 동작을 하기 워해서는 브라우저가 필요하다. 자바스크립트는 기본적으로 브라우저에서 동작하는 언어이기 때문이다.

하지만, 매번 브라우저를 열어서 데이터를 입력받는 것은 번거로울 수 있기 때문에 아래의 코드를 이용하면 브라우저를 열지 않고도 작동을 확인할 수 있다.

const readline = require('readline');

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

rl.question('프로그래밍 언어 이름을 입력하세요: ', function(data) {
    console.log('가장 좋아하는 프로그래밍 언어는 ' + data + '입니다.');
    rl.close();
});

중첩 if문

const score = prompt("점수 입력: ");

if(score >= 60 && score <= 100) {
    if (score >= 90) {   // 중첩 if문문
        console.log("You can take the scholarship");
    } else{
            console.log("passed");
    }
} else if (score >= 0 && score <= 59) {
    console.log("failed");
} else {
    console.log("invalid score");
}

여기서 60점 이상 100점 이하는 합격은 합격이지만 그 안에서 90점 이상은 장학대상이기에 if문 안에서 if문을 돌려야한다. 이게 바로 중첩 if문이다.

다만 이러한 중첩문의 코드가 증가하게되면 가독성이 떨어지고 오류 발생 시, 원인이 되는 코드를 찾는 것도 쉽지가 않다. 따라서 이러한 중첩문을 축약하여 사용이 가능한데 else if문이다.

var age = prompt("나이: ");

if(19 <= age && age < 101) {
    console.log("adult");
} else if(0<= age && age < 19) {
    console.log("not adult");
} else {
    console.log("invalid age");
}

2. while문

3. switch문

while문 기본 문법 구조

var i = 0      // 초기문
while(i<10)   // 반복조건
{
  console.log("Hello, world");
  i++         // 증감조건
}

while문 사용 예제 코드

var num = parseInt(prompt("단 입력: "));

var i = 1;
while(i<10) {
   console.log(`${num} * ${i} = ${num * i}`);
   i++
}
  • 여기서 prompt 앞에 parseInt를 사용하는 이유는 prompt로 받는 숫자는 문자형 타입이기 때문에 parseInt를 통해 정수값으로 타입 변환을 해야 제대로 계산값이 출력되기 때문

4. break와 continue문

반복문의 중첩
: 단을 기준으로 단수와 곱해지는 수가 1부터 9까지 증가해야만 비로소 단이 1 증가하게되는 로직

함수

함수 사용 이유

  • 코드의 가독성이 향상되어 유지보수 및 확장에 유리
    • 기능 단위로 분리하여 작성하면 가독성이 향상
    • 코드의 수정이나 확장에 매우 유리
  • 코드의 중복을 줄일 수 있다.
    • 기능 단위의 함수를 만들어 놓고 필요할 때마다 기능을 호출하여 사용 가능

함수의 종류

  1. 표준함수(내장함수) ex) console.log() / alert()
  2. 사용자 정의 함수
  3. 사용자 정의 타입(구조체, 클래스, 기타 등등)

함수와 메소드의 차이

  • 함수와 메소드는 형태상으로는 동일
  • 정의되는 위치에 따라 구분되는 차이가 있음
  • 클래스 내부에는 변수나 함수를 선언 가능
  • 클래스 내부에 선언된 함수가 메소드
  • 메소드는 클래스를 통해 생성된 객체를 통해서만 호출 가능
  • 그 외 클래스와 관련이 없다면 일반적으로 전부 함수

지역변수/전역변수/매개변수
1. 지역변수

  • 특정 지역안에서만 유효한 변수
profile
SEO 최적화 마크업 개발자입니다.

0개의 댓글