📒

조건문, 반복문

연산자

== (동등 연산자)

타입을 엄격하게 비교하지 않음

=== (일치 연산자)

는 타입과 값이 같아야 true
엄격하게 비교하기 위해서는 동등 연산자 사용을 지양하고 일치 연산자를 사용해야함
그러나 객체를 비교할 때는 동등연산자와 일치 연산자가 동일하게 동작.

논리 연산자

&& // and -> 모든 조건이 truthy 하다면 true // expr1을 true로 변환할 수 있는 경우 expr2를 반환하고, //그렇지 않으면 expr1을 반환 expr1 && expr2 || // or -> 하나라도 truthy하다면 true //expr1을 true로 변환할 수 있으면 expr1을 반환하고, //그렇지 않으면 expr2를 반환 expr1 || expr2 ! // not // 단일 피연산자를 true로 변환할 수 있으면 false를 반환, // 그렇지 않으면 true를 반환 !expr !undefined // true !'Hello' // false
JavaScript
복사

기억해야할 6가지 falsy값

if(false) if(null) if(undefined) if(0) if(NaN) if('')
JavaScript
복사

조건문

조건에 따라 다른 코드를 실행할 수 있는 문
조건의 결과는 Truthy / falsy한 값

if문

조건을 평가하여 그 값이 truthy면 코드 블록을 실행
if (condition) { ... }
JavaScript
복사
실행되는 코드가 한 줄이더라도 중괄호를 사용해 코드 블록으로 감싸는 것이 가독성이 좋다!

조건부 연산자 '?'

조건에 따라 다른 값을 변수에 할당해주는 연산자
아래와 같이 삼항 연산자로 나타낼 수 있다.
let result = condition ? value1 : value2;
JavaScript
복사
condition이 truthy하다면 value1을, falsy하다면 value2를 result에 할당된다.

switch문

특정 변수를 다양한 상황에서 비교할 수 있게 해주는 조건문
하나 이상의 case로 구성되어있으며, case의 값과 a의 값을 비교하여 일치하는 경우 그 case의 코드를 실행한다.
switch (a) { case 표현식: ... break; case 표현식: ... break; default: ... }
JavaScript
복사

반복문

동일한 코드를 여러 번 반복하는 문
코드를 반복적으로 시행할 때 여러 번 같은 코드를 작성할 필요 없이 빠르고 간편하게 사용할 수 있다.

for문

조건이 falsy값으로 판별될 때까지 내부 코드를 반복
초기화, 조건식, 증감문 순으로 넣어준다.
for (begin; condition; step) { .. }
JavaScript
복사

for .. in문

객체의 열거 속성을 통해 지정된 변수를 반복
for (변수 in 객체) { }
JavaScript
복사
배열에도 for ... in 을 사용해도 될까? 배열은 객체형에 속하므로 사용이 가능하다. 하지만 for .. in은 객체와 함께 사용할 때 최적화 되어있으므로 배열에 사용하면 객체에 사용하는 것 대비 10-100배 정도 느리다. 따라서 배열에는 사용하지 않는 것이 좋다.

for .. of문

반복 가능한 object(iterable; 배열)를 통해 반복하는 루프를 생성
for (변수 of 배열) { ... }
JavaScript
복사
프로퍼티(key: value)로 이루어진 객체는 iterable하지 않으므로 사용할 수 없음
→ 사용하려면? Object.entries() 사용
let user = { name: "John", age: 30 }; for (let [key, value] of Object.entries(user)) { alert(`${key}:${value}`); }
JavaScript
복사

while문

조건을 확인 후 내부 코드를 실행하는 반복문.
condition이 truthy면 while문 내의 코드를 계속해서 수행
while (condition) { .. }
JavaScript
복사

do .. while문

내부 코드를 먼저 실행한 후 조건을 확인하는 반복문.
condition이 truthy하면 다시 반복문의 코드를 실행한다.
do { .. } while (condition);
JavaScript
복사
반복문을 실행하는 도중 중지시키거나 다음 반복으로 넘기는 방법도 있다.
break문과 continue문은 반복문 내부에 선언되어 반복문을 중지시키거나 실행중인 반복문을 중지하고 다음 반복으로 넘긴다.

break문

반복문, switch문, lable문과 결합한 문장을 빠져나올 때 사용
break사용 시, 가장 가까운 while, do-while, for, switch 문을 종료하고 다음 명령어로 넘어간다.
label 문에서 break 사용 시, 특정 레이블 문에서 끝나게 된다.
break;
JavaScript
복사

continue문

반복문이나 레이블문을 중지하고 다음 반복으로 넘어갈 때 사용한다.
continue 사용 시 현재 진행하고 있던 루프문을 정지하고 다음 루프문을 실행한다.
continue;
JavaScript
복사

Reference