(if, else if, else, switch)
let x = 10;
if (x > 0) {
console.log("x는 양수입니다.");
}
=> 변수 x가 x > 0? (양수인 경우) {
"x는 양수입니다."
}
= if문은 조건이 참인 경우에만 코드를 실행
let x = -10;
if (x > 0) {
console.log("x는 양수입니다.");
} else {
console.log("x는 음수입니다.");
}
=> => 변수 x가 x > 0? (양수인 경우) {
"x는 양수입니다."
} else (음수인 경우) {
"x는 음수입니다."
}
= if-else문은 조건이 참인 경우 / 거짓인 경우 각각 다른 코드를 실행
let x = 0;
if (x > 0) {
console.log("x는 양수입니다.");
} else if (x < 0) {
console.log("x는 음수입니다.");
} else {
console.log("x는 0입니다.");
}
=> => 변수 x가 x > 0? (양수인 경우) {
"x는 양수입니다."
} else (음수인 경우) {
"x는 음수입니다."
} else (x = 0) {
"x는 0입니다."
}
= if-else if-else문은 여러 개의 조건을 순서대로 비교
-> 해당하는 조건에 맞는 코드를 실행
let fruit = "사과";
switch (fruit) {
case "사과":
console.log("사과는 빨간색입니다.");
break;
case "바나나":
console.log("바나나는 노란색입니다.");
break;
case "오렌지":
console.log("오렌지는 주황색입니다.");
break;
default:
console.log("해당하는 과일이 없습니다.");
break;
}
=> switch문
을 사용하여 과일의 종류에 따라 색상을 출력
= switch문
: 변수의 값 -> 여러 개의 경우(case) 중 하나를 선택 -> 해당하는 코드를 실행
= default
: 모든 경우에 맞지 않는 경우 -> 실행되는 코드를 작성
let age = 20;
let message = (age >= 18) ? "성인입니다." : "미성년자입니다.";
console.log(message); // "성인입니다."
=> 삼항 연산자(? : ;)
는 if문과 비슷한 역할
= 조건이 참인 경우 / 거짓인 경우 -> 각각 다른 값을 반환
// EX.
let age = 20;
let gender = "여성";
if (age >= 18) {
if (gender === "남성") {
console.log("성인 남성입니다.");
} else {
console.log("성인 여성입니다.");
}
} else {
console.log("미성년자입니다.");
}
=> 중첩된 if문을 사용 -> 성별에 따라 성인 여부를 판별
let x = 10;
(x > 0) && console.log("x는 양수입니다.");
=> 변수 x가 양수 -> "x는 양수입니다." 출력
= && 연산자
-> 조건부 실행 가능
let x;
let y = x || 10;
console.log(y); // 10
=> 삼항 연산자
를 사용 -> (변수 x가 존재하지 않는 경우) -> 기본값으로 10을 사용
|| 연산자
를 사용 -> 단축 평가(short-circuit evaluation)
가능-> (변수 x가 존재하지 않는 경우)
|| 연산자
: false
값을 반환
-> 기본값
으로 지정한 10을 반환
if (0) {
console.log("이 코드는 실행되지 않습니다.");
}
if ("") {
console.log("이 코드는 실행되지 않습니다.");
}
if (null) {
console.log("이 코드는 실행되지 않습니다.");
}
if (undefined) {
console.log("이 코드는 실행되지 않습니다.");
}
if (NaN) {
console.log("이 코드는 실행되지 않습니다.");
}
if (false) {
console.log("이 코드는 실행되지 않습니다.");
}
=> falsy한 값들을 사용하여 if문의 조건을 만족X
= 0
, 빈 문자열("")
, null
, undefined
, NaN
, false
=== falsy한 값
-> if문의 조건을 만족X
= 그 외의 값
=== 모두 truthy한 값
-> if문의 조건을 만족O
(for, while, do...while, break, continue)
for (let i = 0; i < 10; i++) {
console.log(i);
}
=> 0부터 9까지의 숫자를 출력
= for문 : 초기값
, 조건식
, 증감식
을 사용하여 반복 횟수를 제어
let numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
=> 배열 numbers
와 함께 for문
을 사용하여 배열의 요소를 출력
= 배열의 요소 개수만큼 반복 -> 실행
let person = { name: "John", age: 30, gender: "male" };
for (let key in person) {
console.log(key + ": " + person[key]);
}
=> for...in문
을 사용 -> 객체 person
의 프로퍼티를 출력
= for...in문
은 객체의 프로퍼티 -> 순서대로 접근
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
=> 0~9 까지의 숫자 출력
= 조건식이 참인 경우에만
코드를 반복 실행
let i = 0;
do {
console.log(i);
i++;
} while (i < 10);
=> 0~9 까지의 숫자 출력
= do...while문
: 한 번은 코드를 실행 -> 그 후에 조건식을 체크하여 반복 여부를 결정
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
=> for문
과 함께 break문
을 사용 -> 0부터 4까지의 숫자(i === 5)만 출력
= break문
: 반복문 종료
for (let i = 0; i < 10; i++) {
if (i === 5) {
continue;
}
console.log(i);
}
=> for문
+ continue문
을 사용
= 5를 제외한(i === 5) / 0부터 9까지의 숫자를 출력