2023 - 05 - 15 조건문, 조건부실행, 삼항연산자, 단축평가
오늘 할일
자바스크립트 1주차 강의 듣기
오늘 배운것
1. 조건문 (if문, else문, else if 문, switch / break문)
2. 조건문 중첩
3. 조건부실행(&&),
4. 삼항연산자, 단축평가
5. truthy한 값, falsy한 값
1. if문
let x = 10;
if (x > 0){
console.log("x는 양수입니다.")
}
//x는 양수입니다. (선언된 변수값 10이 if문을 충족시킴)
y의 길이가 5보다 크거나 같으면 길이를 출력하시오.
let y = "Hello World"
if (y.length >= 5){
console.log(y.length)
}
// 11 (선언된 변수값 "Hello World" 이 if문을 충족시킴)
2. if~ else 문
let x = -3;
if (x > 0) {
console.log("x는 양수입니다.")
} else {
console.log("x는 음수입니다.")
}
// x는 음수입니다. (선언된 변수값 -3이 if문을 충족시키지 못함)
3. if - else if - else 문
let x = 10;
if (x < 0){
console.log("1")
} else if (x >=0 && x < 10) {
console.log("2")
} else {
console.log("3")
}
// 3 (선언된 변수값 10이 if문과 else if문 조건을 충족시키지 못함)
4. switch문
변수의 값에 따라, 여러 개의 경우(case)중 하나를 선택. 디폴트값(defalut)이 있음
case에는 콜론(:)을 쓰고, case가 끝날 때 반드시 break문을 같이 넣어야 함.
맨 마지막에 default값을 항상 넣어주어야 한다.
let fruit = "kiwi";
switch (fruit) {
case "apple":
console.log("사과입니다.");
break;
case "banana":
console.log("바나나입니다.");
break;
case "kiwi":
console.log("키위입니다.");
break;
default:
console.log("아무것도 아닙니다.");
}
// 키위입니다.
조건문 중첩 (조건문 안에 또 조건문 넣기)
1. 조건문을 이용해 미성년자 구분하기
let age = 20;
if (age >= 18) {
console.log("성인입니다.")
} else {
console.log("미성년자입니다.")
}
// 성인입니다.
2. 조건문 중첩을 이용해 미성년자, 성별 구분하기.
let age = 20;
let gender = "여성";
if (age >= 18) {
console.log("성인입니다.")
if (gender === "여성") {
console.log("성인 여성입니다.")
} else {
console.log("성인 남성입니다.")
}
} else {
if (gender === "여성"){
console.log("미성년 여성입니다.")
} else {
console.log("미성년 남성입니다.")
}
console.log("미성년자입니다.")
}
조건부 실행 (&& an문, || or 문).
if를 쓰지 않아도 조건문이 성립됨. and 조건 (&&) 또는, or조건 (||) 때문에 뒤에부분이 실행됨.
and 조건(&&)
let x = 10;
(x > 0) && console.log("x는 양수입니다.")
// x는 양수입니다.
조건 (x > 0)을 충족하므로 뒤에부분 실행.
or 조건 (||)
삼항연산자와 단축평가
or 조건 (||)
let y;
let z = y || 20;
console.log(z);
// 20
y는 선언만 하고 할당안함. 즉 y는 undefined
let z = y ||20 은. y가 undefined이면 20을 설정해달라는 뜻(조건문)
truthy한 값, falsy 한 값
if (조건 = true 또는 false값) { main logic }
여기서 '조건'에 들어갈수 있는 경우 = truthy한 값
조건에 들어갈수 없는 경우 = falsy 한 값 (조건문에 넣어도 실행안됨)
if (0) {
// main logic
console.log("Hello World")
}
if ("") {
// main logic
console.log("Hello World")
}
if (null) {
// main logic
console.log("Hello World")
}
if (undefined) {
// main logic
console.log("Hello World")
}
if (NaN) {
// main logic
console.log("Hello World")
}
if (false) {
// main logic
console.log("Hello World")
}
if (true) {
// main logic
console.log("Hello World")
}
여기서 맨 마지막 true만 제외하고는, 나머지 조건들은 falsy한 값들이기 때문에 출력이 안됨.
마지막 true만 truthy한 값이므로 "Hello World"출력됨