- 조건문
특정 조건을 만족하는 경우에만 코드를 실행할 수 있다.
1) 기본적인 if 문
let x = 10;
if (x > 0) { // 조건이 ture일 경우만 실행됨
// main logic
console.log("x는 양수입니다.");
}
2) if - else 문
조건문 if에 해당하지 않는다면, else 조건으로 이동.
x = -3;
if (x > 0){ // true일 경우
// main logic #1
console.log("x는 양수입니다.")
} else { // false
//main logig #2
console.log("x는 음수입니다.")
}
3) if - else if - else 문
조건문 if 와, 해당하지 않을 경우 else if, 그 다음에도 해당하지 않을 경우 else로 간 후 로직이 실행된다.
x = 10;
if (x < 0) {
// main logic #1
console.log("1")
} else if (x >= 0 && x < 5) {
//main logic #2
console.log("2")
} else {
// main logic #3
console.log("3")
}
4) switch 문
변수의 값에 따라 여러 개의 경우 중 하나를 선택해서 진행한다. 또한, case 후 break를 넣어주어야 해당 조건을 탈출한다.
// 4. switch
// 변수의 값에 따라 여러 개의 경우 중 하나를 선택
// default
let fruit = "사과";
switch (fruit) {
case "사과":
console.log("사과는 빨간색입니다.");
break; // case를 탈출하기 위해 break를 넣어야 한다.
case "바나나":
console.log("바나나는 노란색입니다.");
break;
case "오렌지":
console.log("오렌지는 주황색입니다.");
break;
default: // 아무것도 해당되지 않는 경우
console.log("해당하는 과일이 없습니다.");
break;
}
5) 조건문의 중첩
조건문은 아래와 같이 중첩이 가능하다.
let age = 20;
let gender = "여성";
if (age >= 18) {
if (gender === "남성") {
console.log("성인 남성입니다.");
} else {
console.log("성인 여성입니다.");
}
} else {
console.log("미성년자입니다.");
}
6) 조건부 실행
아래 예시를 확인 시, 변수 x가 양수인 경우에만 console.log가 실행된다. &&연산자를 사용하여 조건부 실행이 가능.
let x = 10;
// && and 조건
(x > 0) && console.log("x는 양수입니다.");
7) 삼항 연산자와 단축 평가
아래 예시를 확인시
// 삼항 연산자
// or 조건(||)
// 삼항 연산자와 단축평가
let y; // undefined
let z = y || 20; // y가 undefined이면 기본값으로 20을 입력해줘.
console.log(y); // 20
y가 존재하지 않을 경우, || (or) 연산자를 사용하여, y가 존재하지 않는 경우 기본값을 20으로 진행할 수 있다.
8) falsy한 값과 truthy한 값
falsy한 값은 조건문을 만족시키지 못한다.
아래 예시 확인
// falsy한 값은 if 조건을 만족시키지 못한다.
// truthy한 값만 조건문을 실행
if (0) {
console.log("이 코드는 실행되지 않습니다.");
}
if ("") {
console.log("이 코드는 실행되지 않습니다.");
}
if (null) {
console.log("이 코드는 실행되지 않습니다.");
}
if (undefined) {
console.log("이 코드는 실행되지 않습니다.");
}
if (NaN) {
console.log("이 코드는 실행되지 않습니다.");
}
if (false) {
console.log("이 코드는 실행되지 않습니다.");
}
- 반복문
반복문을 사용해 특정 코드를 반복해서 사용할 수 있다.
1) 기본적인 for문
for (초기값;조건식;증감식){}
for (let i = 0; i < 10; i++){
console.log(i);
}
2) 배열과 함께 사용하는 for문
조건식을 length 메소드를 사용하여 배열의 요소 개수만큼 출력이 가능하다.
배열과 for문은 짝궁이다
const arr = [3,1,5,2,8]
for (let i = 0; i < arr.length; i++){
console.log(i);
console.log(arr[i]);
}
3) for..in 문
for..in 문을 사용하여 객체 person의 프로퍼티를 출력한다. 객체의 프로퍼티를 순서대로 접근이 가능
// for ~ in 문
// 객체의 속성을 출력하는 문법
let person = { name: "John", age: 30, gender: "male" };
// person[key]
for (let key in person) {
console.log(key + ": " + person[key]);
}
4) while 문
while문은 조건식이 참인 경우에만 코드를 반복해서 실행한다.
// while
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
5) do...while문
do..while문은 while문과 다르게, do를 먼저 한번 실행시키고, while은 조건에 따라 참인 경우에만 실행시켜준다.
do.. while 문
let i = 0;
do {
console.log(i);
i++;
} while (i < 10);
do를 먼저 한번 실행시키고, while은 이후 반복할 지 결정해준다.
6) break
break의 경우 if의 조건이 맞다면, 반복문을 종료한다.
break
그 자리에서 끝내버린다.
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
7) continue문
continue문은 해당 if문의 조건이 맞다면, 해당 루프는 건너뛰고 다음부터 진행한다.
// 5를 만났을 때는 continue를 만나 다음 for문으로 넘어감
// 그 다음 순서로 넘어간다
for (let i = 0; i < 10; i++) {
if (i === 5) {
continue;
}
console.log(i);
}
추가적인 내용은 확인해보자.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Loops_and_iteration#for...of_%EB%AC%B8