부트캠프 3일 차.
오늘은 실시간 세션 없이 조건문과 반복문, 함수에 대해 혼자 배우는 시간이다.
독학으로 공부한 내용이니 복습 차원에서 한 번 더 꼼꼼히 봤다.
✅ 특정한 조건에서만 실행되는 코드를 작성할 수 있다.
✅ truthy와 falsy 가 조건문에서 작동하는 방식을 이해할 수 있다.
조건식
) { 조건식
이 참일 때 실행할 코드};!
조건식
) {조건식
이 거짓일 때 실행할 코드};✅ 비교 연산자를 통한 엄격한 비교(=== , !==)에 대해 이해할 수 있다.
✅ if, else if, else를 사용하여 여러 개의 조건을 중첩해서 사용할 수 있다.
✅ 논리 연산자를 (&&, ||, ! ...) 통해 복잡한 조건을 간결하게 작성할 수 있다.
if문은 주어진 조건식의 참(trun)과 거짓(false) 여부에 따라 실행이 결정된다.
따라서 조건식은 결과가 불린 타입이 되도록 작성해야 한다.
if (true) { // 조건식이 true이면,
console.log('hello world'); // 코드블록 내부의 코드가 실행
}
여기서 지난 번에 배운 동치연산자와 비교연산자를 사용한다.
===
!==
>
<
<=
>=
let course = 'seb fe';
if (course === 'seb fe') {
console.log('변수 course에 "seb fe"를 할당했습니다.');
}
let num = 5;
if (num < 10) {
num = num + 1;
}
console.log(num); // 6
논리곱 연산자와 논리합 연산자를 사용하면 여러 조건을 한 번에 작성할 수 있다.
let age = 15;
if (age > 13 && age <= 19) {
console.log('청소년입니다.'); // '청소년입니다.'
}
if문과 함께 else문을 사용하면 조건이 true일 때, false일 때 각각 다른 코드가 실행되도록 할 수 있다. (단, else문은 단독으로 사용 불가. if문 바로 뒤에 작성해야 함!)
조건을 추가하고 싶다면 else if문을 사용하면 됨
let age = 15;
if (age < 8) {
console.log('미취학아동입니다.');
} else if (age >= 8 && age < 14) {
console.log('초등학생입니다.');
} else if (age >= 14 && age < 17) {
console.log('중학생입니다.'); // '중학생입니다.'
} else if (age >= 17 && age < 20) {
console.log('고등학생입니다.');
} else {
console.log('성인입니다.');
}
실행할 코드가 간단하다면 if문과 else문을 삼항 조건 연산자로 바꿔 쓸 수 있다.
삼항 조건 연산자: 조건식
? 참일 때 실행할 코드
: 거짓일 때 실행할 코드
let num = 5;
num % 2 === 0 ? console.log('짝수') : console.log('홀수'); // '홀수입니다.'
// 위의 식과 동일하게 동작함
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
✅ for 반복문을 작성할 수 있다.
✅ for 반복문이 여러 개의 코드 블록의 조합이라는 것을 이해한다.
✅ 구구단 n단 출력을 반복문으로 구현할 수 있다.
✅ 반복문 내부에 조건문을 활용할 수 있다.
✅ 이중반복문의 동작 순서를 이해할 수 있다.
✅ 구구단 1-9단 출력을 이중반복문으로 구현할 수 있다.
✅ for반복문과 while반복문의 차이점을 설명할 수 있다.
✅ for반복문으로 작성된 코드를 while반복문으로 바꿀 수 있다.
for문을 사용하면 코드를 몇 번 반복하여 실행할지 결정할 수 있음.
for (초기값
; 조건식
; 증감식
) { 실행할 코드
}
// 코드가 실행될 때마다 i가 1씩 증가
for (let i = 1; i <= 3; i++) {
console.log(i); // 1 2 3
}
구구단 반복문으로 출력하기
let num = 3;
if (num >= 2 && num <= 9) { // 2~9 사이 입력 시 for문 실행
for (let i = 1; i <= 9; i++) { // 1~9 까지 1씩 증가하며 아래 코드 실행
console.log(num * i);
}
} else {
console.log('2와 9사이의 수를 입력하세요.'); // 2 미만, 9 초과인 숫자 입력 시 실행
}
문자열의 첫 번째 문자부터 마지막 문자까지 모두 출력하기
let str = 'codestates';
for (let i = 0; i <= str.length - 1; i++) { // 0 ~ (str의 길이 -1) 까지 1씩 증가하며 아래 코드 실행
console.log(str[i]); // (c o d e s t a t e s) str의 i번째 인덱스 문자 출력
}
1부터 10까지의 숫자 중 홀수만 출력하기
for (let i = 1; i <= 10; i++) {
if (i % 2 === 1) {
console.log(i);
}
}
주어진 문자열의 문자들 중, 인덱스가 짝수인 문자만 출력
let str = 'software engineering bootcamp';
// 변수 str에 할당된 문자열의 모든 문자를 순회하도록 for문을 작성하세요.
for (let i = 0; i < str.length; i++) {
// 인덱스가 짝수인 문자만 출력하도록 알맞은 조건식을 넣어야 합니다.
if (i % 2 === 0) {
console.log(str[i]);
}
}
반복문은 반복문 내부에 또 다른 반복문을 2개 이상 중첩하여 사용할 수 있음
2개의 반복문이 중첩된 경우 이중반복문, 3개의 반복문이 중첩된 경우 삼중반복문이라고 부른다.
for (let i = 2; i <= 9; i++) { // 2단 ~ 9단 까지,
for (let j = 1; j <= 9; j++) { // 1 ~ 9 까지 1씩 증가하면서 곱하기
console.log(`${i} x ${j} = ${i * j}`);
}
}
while문은 초기값, 증감식 없이 조건식만 입력한 후 조건식의 평가결과가 true인 경우 코드블록 내부의 코드를 반복하여 실행함
let num = 0;
while (num < 3) {
console.log(num); // 0 1 2
num++
}
// for문 사용
for (let num = 0; num < 3; num++) {
console.log(num); // 0 1 2
}
do…while문은 while 뒤에 오는 조건식이 true로 평가되는 동안 do 뒤에 오는 코드블록 내부의 코드를 반복하여 실행함. while문과 차이는 do의 코드블록 내부의 코드가 최소 한 번은 실행된 후 조건식을 확인함
do {
console.log('코드블록 내부의 코드는 최소 한 번은 실행됩니다.')
// '코드블록 내부의 코드는 최소 한 번은 실행됩니다.'
} while (false)
for문과 while문의 용도는 명확하게 구분되지 않으나 주로 사용하는 상황은 있다.
for문을 사용하는 경우
while문을 사용하는 경우