조건문: 주어진 조건에 따라 프로그램을 다르게 동작시킨다.
조건문의 문법 if
if (boolean) {
console.log('success');
}
boolean 자리가 참일 경우 중괄호 내부 코드가 실행, 거짓일 경우 미실행
if (false) {
console.log(1);
} else if (false) {
console.log(2);
} else if (true) {
console.log(3);
} else {
console.log(4);
}
-> 3
else는 앞선 구문이 미실행일 경우에만 실행else if는 앞선 구문이 미실행이면서 if 뒤의 소괄호가 참일 경우에만 실행const a = 1;
if(a === 1) {
console.log(10);
}
-> 10
if문의 실행 조건에 변수가 들어감으로써 if문은 변수값에 따라 실행 여부가 가변적으로 변화
간단한 응용


&& 논리곱: 좌우항 둘 다 true일 경우만 true|| 논리합: 좌우항 둘 다 false일 경우만 false! 논리부정: boolean의 값이 반대로 적용반복문의 문법에는 while, for가 존재
while(boolean) {
반복해서 실행되는 코드
}
if문처럼 실행 조건은 boolean 형식으로 작성 실행 조건이 참일 경우 while문이 실행되어 거짓이 될 때 종료
document.write()메소드는 괄호 내부 내용을 웹 브라우저 화면에 출력
무한반복
while(true) {
document.write("Carpe diem<br />");
}
실행 조건이 거짓이 되지 않기에 무한루프가 발생
let i = 0;
while(i < 10) {
document.write("Carpe diem " + i + "<br />");
i = i + 1;
}
for(초기식; 조건식; 증감식) {
반복해서 실행되는 코드
}
for(let i = 0; i < 10; i++) {
document.write("Carpe diem " + i + "<br />");
}
while문과 같으나 가독성이 상승
i++ vs ++i
i = 0; i = 0;
console.log(i++); console.log(++i);
-> 0 -> 1
// 기존 값을 그대로 사용 후 계산 // 계산 후 새로운 값을 사용
break 반복문을 즉시 중단
for(let i = 0; i < 10; i++) {
if(i === 5) {
break;
}
document.write("Carpe diem " + i + "<br />");
}

반복문을 조건문 내부에 삽입 가능 반대도 성립
continue 반복문을 특정 조건에서 일시적으로 종료
for(let i = 0; i < 10; i++) {
if(i === 5) {
continue;
}
document.write("Carpe diem " + i + "<br />");
}

for(let i = 2; i < 10; i++) {
for(let j = 1; j < 10; j++) {
console.log(i + " * " + j + " = " + i * j + "<br />");
}
}
외부 반복문이 먼저 한번 실행되고 내부 반복문의 실행 조건이 거짓이 될 때까지 실행 후, 재차 외부 반복문이 한번 실행 후 내부 반복문이 실행되는 사이클이 반복문 전부의 실행 조건이 거짓이 될 때까지 반복
- 재사용성이 높을수록 코드 작성 시간 단축, 유지보수 용이, 가독성 상승
- 함수 내부의 코드 변경 시 함수 호출이 이루어진 장소 전체가 함께 변경을 가능하게 하여 재사용성을 높아지도록 지원
함수의 형식
function 함수명(매개변수1, 매개변수2...) {
코드
return 반환값;
}
함수 호출
함수명()
함수 호출과 변수 호출의 차이는 소괄호의 여부로 구분
return 키워드부터 ;까지의 값을 반환 후 함수 종료return 이후의 함수 내 코드는 미실행function sum(a, b) {
return a + b;
}
console.log(sum(1, 20));
-> 21
sum 함수 호출 시 a, b는 인자인 1, 2를 받은 매개변수로써 함수 출력 시 1 + 20으로 계산
const sum = function(a, b) {
return a + b;
}
console.log(sum(1, 20));