[JS] 드림코딩 JS 공부 #4-2
💡 연산자와 반복문에 대해서 공부해보자
🔴 Conditional operators
🟤 if, else if, else
const name = 'coder';
if (name === 'ellie') {
console.log('Welcome, Ellie!');
} else if (name === 'coder') {
console.log('You are amazing coder');
} else {
console.log('unkwnon');
}
if
는 안에 있는 statement가 true면 블록 안을 실행한다.
🟠 Ternary operator : ?
🟤 삼항 연산자
// condition ? value1 : value2;
console.log(name === 'ellie' ? 'yes' : 'no');
- 조건이 참이면 value1, 거짓이면 value2 값을 출력해준다.
- 값을 할당하거나 간단하게 출력할 때 많이 사용한다.
🟡 Switch statement
const browser = 'IE';
switch (browser) {
case 'IE':
console.log('go away!');
break;
case 'Chrome':
case 'Firefox':
console.log('love you!');
break;
default:
console.log('same all!');
break;
}
-
switch
문 안에 있는 browser의 값이 IE이면case 'IE'
안에 문을 출력하고,break
-> 멈춘다. -
동일한 문장을 출력하면 Chrome, Firefox처럼 묶어서도 쓸 수 있다.
-
if-else-if-else
를 반복한다면 ->switch문
을 고려해보자 -
후에 TypeScript에서 정해져있는 타입을 검사하거나
enum
비슷한 아이들을 검사할 때는 ->switch문
쓰는 것이 가독성에 좋음
🟢 Loops
- 계속해서 반복적으로 도는 것
🟤 while
let i = 3;
while (i > 0) {
console.log(`while: ${i}`);
i--;
}
🟤 do while
do {
console.log(`do while: ${i}`);
i--;
} while (i > 0);
- 먼저 do블럭을 실행한 다음, 조건이 맞는지? 안맞는지?를 검사한다.
- 블럭을 먼저 실행하고 싶다 ->
do while문
조건문이 맞을 때만 실행하고 싶다 ->while문
🟤 for
for(begin; condition; step)
- 시작하는 문장 ; 조건문 ; 어떤 스텝을 밟아 나갈 것인지?
begin
은 딱 한번만 실행된다.- 그 이후에는
condition -> 블록실행 -> step -> condition -> 블록실행 -> step -> 조건 false면 stop
이 반복된다.
for (i = 3; i > 0; i--) {
console.log(`for : ${i}`);
}
for (let i = 3; i > 0; i = i - 2) {
// inline variable declaration
console.log(`inline variable for: ${i}`);
}
- for 안에
inline variable declaration
-> 블록안에 let이라는 지역변수를 선언해서 작성하는 방법도 존재
// nested loops
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 10; j++) {
console.log(`i: ${i}, j: ${j}`);
}
}
- while문, for문 둘다 nesting해서 작성 가능하다.
- for문 안에 또 for문을 작성할 수 있다.
- i = 0 일 때, j를 0~9까지 실행, 다시
i = 1 일 때, j를 0~9까지 실행, 다시 ... 이게 조건문이 충족할 때 까지 계속된다. - cpu에 별로 좋지 않음 되도록 안쓰는 것이 좋음
🔵 break, continue
- loop안에서는 break나 continue 같은 키워드를 사용해서 loop를 끝낼 수 있다.
- break : loop를 완전히 끝내는 것
// q1. 0~10 까지 loop 하는데 8을 만나면 멈춘다 (break 써서)
for (let i = 0; i < 11; i++) {
if (i > 8) {
break;
}
console.log(`q1. ${i}`);
}
- continue : 현재꺼만 skip 하고 다음 스텝으로 넘어가는 것
// q2. 0~10 까지 짝수만 출력하시오 (continue 써서)
for (let i = 0; i < 11; i++) {
if (i % 2 !== 0) {
continue;
}
console.log(`q2. ${i}`);
➕ 추가로 공부할 것
1.enum
에 대해서 찾아보기!
2.inline variable declaration
찾아보기!
3. nesting이란? 찾아보기
Author And Source
이 문제에 관하여([JS] 드림코딩 JS 공부 #4-2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dpdnjs402/v1i5csos저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)