하위 태스크 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.