하위 태스크 1

control.js 생성

제어문 실습용 JS 파일 생성

New-Item -Path .\control.js -ItemType File

하위 태스크 2

if-else 학점 계산 구현

점수에 따라 A~F 학점을 반환하는 로직 작성

소스 코드(control.js):

const score = 63;
 
let grade;
 
if (score >= 90) {
  grade = "A";
} else if (score >= 80) {
  grade = "B";
} else if (score >= 70) {
  grade = "C";
} else if (score >= 60) {
  grade = "D";
} else {
  grade = "F";
}
 
console.log(`점수: ${score}, 학점: ${grade}`));

실행:

node .\control.js
# 점수: 63, 학점: D

하위 태스크 3

switch 학점 계산 구현

동일 로직을 switch 문으로 구현

소스 코드(control.js):

const score = 63;
 
let grade;
 
switch (true) {
  case score >= 90:
    grade = "A";
    break;
  case score >= 80:
    grade = "B";
    break;
  case score >= 70:
    grade = "C";
    break;
  case score >= 60:
    grade = "D";
    break;
  default:
    grade = "F";
}
 
console.log(`점수: ${score}, 학점: ${grade}`));

실행:

node .\control.js
# 점수: 63, 학점: D

하위 태스크 4

1~100 합계 계산

for 문으로 1부터 100까지의 합 계산

소스 코드(loop.js):

let result = 0;
 
for (let i = 1; i <= 100; i += 1) {
  result += i;  
}
 
console.log(result);

실행:

node .\loop.js
# 5050

하위 태스크 5

짝수만 누적 합 계산

continue를 사용해 짝수만 더하는 로직 구현

소스 코드(loop.js):

let result = 0;
 
for (let i = 1; i <= 100; i += 1) {
  if (i % 2 === 1) {
    continue;
  } 
 
  result += i;
}
 
console.log(result);

실행:

node .\loop.js
# 2550

하위 태스크 6

누적 합 200 이상 시 중단

break로 반복 조기 종료 구현

소스 코드(loop.js):

let result = 0;
 
for (let i = 1; i <= 100; i += 1) {
  if (result > 200) {
    break;
  }
 
  result += i;
}
 
console.log(result);

실행:

node .\loop.js
# 210

하위 태스크 7

getGrade 함수 추출

학점 계산 로직을 함수로 분리

소스 코드(control.js):

function getGrade(score) {
  let grade;
 
  if (score >= 90) {
    grade = "A";
  } else if (score >= 80) {
    grade = "B";
  } else if (score >= 70) {
    grade = "C";
  } else if (score >= 60) {
    grade = "D";
  } else {
    grade = "F";
  } 
 
  return grade;
}
 
const score = 63;
const grade = getGrade(score);
 
console.log(`점수: ${score}, 학점: ${grade}`);

실행:

node .\control.js
# 점수: 63, 학점: D

하위 태스크 8

printGrade 콜백 함수 구현

콜백으로 출력 방식을 바꾸는 함수 구현

소스 코드(control.js):

function getGrade(score) {
  let grade;
 
  if (score >= 90) {
    grade = "A";
  } else if (score >= 80) {
    grade = "B";
  } else if (score >= 70) {
    grade = "C";
  } else if (score >= 60) {
    grade = "D";
  } else {
    grade = "F";
  } 
 
  return grade;
}
 
function printGrade(name, score, callback) {
  const grade = getGrade(score);
 
  if (callback === undefined) {
    console.log(`${name} → 점수: ${score}, 학점: ${grade}`);
  } else {
    callback(grade);
  }
}
 
const name = "홍길동";
const score = 63;
 
printGrade(name, score, function (grade) {
  console.log(`${name}의 점수는 ${score}점이고 학점은 ${grade}입니다.`);
});

실행:

node .\control.js
# 홍길동의 점수는 63점이고 학점은 D입니다.

하위 태스크 9

삼항 연산자 예제 작성

조건에 따른 간단한 값 할당 예제

소스 코드(ternary.js):

const score = 72;
const result = score >= 60 ? "합격" : "불합격";
 
console.log(result);

실행:

node .\ternary.js
# 합격

하위 태스크 10

null 병합 연산자 예제 작성

기본값 설정 예제

소스 코드(nullish.js):

let name;
 
function say(name) {
  console.log(`Hello, My name is ${name ?? "Unknown"}.`)
}
 
say(name);

실행:

node .\nullish.js
# Hello, My name is Unknown.