-
[모던 자바스크립트 Deep Dive] 7. 연산 - 8. 제어문Front/모던 자바스크립트 Deep Dive 2026. 3. 21. 13:46
7. 연산
7.1 산술 연산자
+ - * / %
피연산자를 산술하여 숫자값을 만드는 연산자
7.2 할당 연산자
할당 연산자 예 같은 표현 = x = 5 x = 5 += x+= 5 x = x + 5 -= x -= 5 x = x - 5 *= x *= 5 x = x * 5 /= x /= 5 x = x / 5 %= x %= 5 x = x % 5 7.3 비교 연산자
x == y x와 y의 값이 같음 x === y x 와 y의 타입이 같음 * 예외
NaN === NaN; false 0 === -0; true 0 == -0; true 7.4 삼항 조건 연산자
예 타입 조건 ? 참 실행 : 거짓 실행; var result = score >= 60 ? 'pass' : 'fail'; 7.5 논리 연산자
논리 연산자 의미 부수 효과 || 논리합(OR) X && 논리곱(AND) X ! 부정(NOT) X * 드 모르간의 법칙으로 가독성 좋게 사용 가능
7.6 쉼표 연산자
: 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환
예 반환값 x = 1, y = 2, z = 3; 3 7.7 그룹 연산자
: ()로 피연산자를 가장 먼저 평가. 따라서 우선순위 조절 가능. 연산자 우선순위가 가장 높음.
예 반환값 10 * 2 + 3; 23 10 * (2+ 3); 50 7.8 typeof 연산자
: 피연산자의 데이터 타입을 문자열로 반환. null은 반환하지 않음.
예 반환값 typeof ' ' "string" typeof 1 "number" typeof NaN "number" typeof true "boolean" typeof undefined "undefined" typeof Symbol() "symbol" typeof null "object" typeof {} "object" typeof function () {} "function" * 주의
- null 값은 object 반환. null 값 확인 시 일치 연산자 (===) 확인.
- 선언하지 않은 식별자는 ReferenceError가 아닌 undefined 반환.
7.9 지수 연산자
: 좌항의 피연산자를 밑, 우항의 피연산자를 지수로 거듭제곱.
지수 연산자 예 반환값 ** 2 ** 2 4 7.10 그외의 연산자
연산자 개요 ?. 옵셔널 체이닝 연산자 ?? null 병합 연산자 delete 프로퍼티 삭제 new 생성자 함수를 호출할 때 사용하여 인스턴스 생성 instanceof 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판별 in 프로퍼티 존재 확인 7.11 연산자의 부수 효과
: 일부 연산자는 다른 코드에 영향을 줌.
연산자 영향 할당 연산자 (=) 변수 값 변함. 증가/감소 연산자(++/--) 피연산자 값 변경 부수 효과, 재할당 변경. delete 연산자 프로퍼티 삭제. 7.12 연산자 우선순위
우선순위 연산자 1 () 2 new(매개변수 존재), ., [](프로퍼티 접근), ()(함수 호출), ?.(옵셔널 체이닝 연산자) 3 new(매개변수 미존재) 4 x++, x-- 5 !x, +x, -x, ++x, ==x, typeof, delete 6 ** 7 *, /, % 8 +, - 9 <, <=, >, >=, in, instanceof 10 ==, !=, ===, !== 11 ?? (null 병합 연산자) 12 && 13 || 14 ? ... : ... 15 할당 연산자 16 , 7.13 연산자 결합 순서
결합 순서 좌항 -> 우항 + - / % < <= > >= && || . [] () ?? ?. in instanceof 우항 -> 좌항 ++ -- 할당연산자 !x +x -x ++x --x typeof delete ? ... : ... **
8. 제어문
8.1 블록문
: 0개 이상의 문을 중괄호로 묶은 것. 코드 블록 또는 블록. 하나의 실행 단위 취급.
8.2 조건문
실행문 활용문 if ... else if (조건식){
// 참일 때 실행
} else {
// 거짓일 때 실행
}if (조건식1){
// 조건식1 참일 때 실행
} else if (조건식2) {
// 조건식2 참일 때 실행
}
} else {
// 거짓일 때 실행
}switch switch (표현식) {
case 표현식1:
// switch 문의 표현식과 표현식1이 일치하면 실행
break;
case 표현식2:
// switch 문의 표현식과 표현식2이 일치하면 실행
break;
default:
// switch 문의 표현식과 일치하는 case문이 없을 때
}* switch문보다 if ... else 권장.
8.3 반복문
실행문 for for (변수 선언문 또는 할당문; 조건식; 증감식) {
조건식이 참일 때 반복 실행될 문
}while while (조건문) {
// 조건식이 참일 때 반복 실행 (반복 횟수 불명확할 때)
}do ... while do {
// 먼저 실행 후 조건문 평가
} while (조건문)8.4 break 문
: break;로 반복 탈출
8.5 continue 문
: 코드 실행을 현 지점에서 중단하고 반복문의 증감식으로 이동. 탈출X
'Front > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글
[모던 자바스크립트 Deep Dive] 11. 원시 값과 객체의 비교 - 12. 함수 (0) 2026.04.05 [모던 자바스크립트 Deep Dive] 9. 타입 변환과 단축평가 - 10. 객체 리터럴 (0) 2026.03.29 [모던 자바스크립트 Deep Dive] 4. 변수 - 6. 데이터 타입 (1) 2026.03.15