데이터 제어하기
자바스크립트는 데이터를 제어하고 조작하는 데 사용할 수 있는 다양한 내장 함수와 객체를 제공합니다. 이를 통해 데이터를 필터링, 검색, 정렬, 변환 등 다양한 방법으로 제어할 수 있습니다.
01.if문
// false : 0, null, undefined, false, "" //숫자 0과 null, undefined, false, ""만 false가 나옵니다. ""은 빈문자열입니다
// true : 1, 2, 3, "0", "1", "ABC", [], {}, true //배열, 객체도 true가 나옵니다
if(""){
document.write("실행되었습니다.(true)");
} else {
document.write("실행되었습니다.(false)");
}
//결과 : false
false : 0, null, undefined, false, "" //숫자 0과 null, undefined, false, ""만 false가 나옵니다. ""은 빈문자열입니다
02. if문 생략
if문은 조건에 따라 특정 코드 블록을 실행하도록 하는 제어문입니다. 하지만 때로는 코드를 더 간결하고 읽기 쉽게 만들기 위해 if문을 생략하는 것이 좋을 때가 있습니다.
// if(num){
// document.write("실행되었습니다.(true)");
// } else {
// document.write("실행되었습니다.(false)");
// }
if(num)document.write("실행되었습니다.(true)");
else document.write("실행되었습니다.(false)");
// 결과 : true
03. 삼항 연산자
삼항 연산자는 조건문을 간단하게 표현할 수 있어서 코드의 가독성을 높일 수 있습니다. 하지만, 복잡한 조건문을 다룰 때는 가독성이 떨어지기 때문에 적절한 사용이 필요합니다.
조건이 참인경우 첫번째 값(true)을 출력하고 거짓인 경우는 두번째 값(false)을 출력합니다.
const num = 100;
// if(num == 100){
// document.write("true");
// } else {
// document.write("false");
// }
(num == 100) ? document.write("true") : document.write("false"); //많이 쓰이는 방법입니다. 효율성이 좋고 메모리를 덜 차지합니다.
// 결과 : true
04. 다중 if문
다중 if문은 조건에 따라 여러 개의 명령문을 실행하는 구문입니다. if문 하나로는 모든 조건을 처리할 수 없을 때 사용합니다.
const num = 100;
if(num == 90){
document.write("실행되었습니다(num == 90)");
} else if(num == 100){
document.write("실행되었습니다(num == 100)");
} else if(num == 110){
document.write("실행되었습니다(num == 110)");
} else if(num == 120){
document.write("실행되었습니다(num == 120)");
} else {
document.write("실행되었습니다");
}
// if(num === 90){} //'==='은 숫자인지 객체인지 배열인지 확인하는 방법입니다.
// 결과 : 실행되었습니다(num == 100)
05. 중첩 if문
중첩 if문은 하나 이상의 if문이 서로 포함된 구조를 말합니다. 중첩 if문은 코드의 가독성을 해치기 때문에 가능한 한 사용을 자제하는 것이 좋습니다.
const num = 100;
if(num == 100){
document.write("실행되었습니다.(1)");
if(num == 100){
document.write("실행되었습니다.(2)");
if(num == 100){
document.write("실행되었습니다.(3)");
}
}
} else {
document.write("실행되었습니다.(4)");
}
// 결과 : 실행되었습니다.(1)
// 실행되었습니다.(2)
// 실행되었습니다.(3)
06. switch문
JavaScript에서 switch 문은 특정 변수 또는 표현식의 값을 평가하고, 그 값에 따라서 다른 블록을 실행하는 제어문입니다.
switch 문은 if...else 문과 유사한 기능을 제공하지만, 코드를 더 간결하고 가독성있게 작성할 수 있습니다.
cosnt num=100;
switch(num){
case 90:
document.write("실행90"); //break가 빠지면 모든 값이 실행됨
break;
case 80:
document.write("실행80");
break;
case 70:
document.write("실행70");
break;
case 60:
document.write("실행60");
break;
case 50:
document.write("실행50");
break;
default:
document.write("0");
// 결과 : 0
07. while문
while 문은 특정 조건이 참일 경우에 반복적으로 블록을 실행하는 제어문입니다.
while 문은 조건식을 검사한 후에 블록을 실행하며, 조건식이 참일 경우에 계속해서 반복 실행합니다. 조건식이 거짓이면 블록을 실행하지 않고 while 문을 빠져나갑니다.
다음은 for문을 while문으로 변경하는 방법입니다.
for(let i=0; i<5; i++){ //for문
document.write(i);
}
let num = 0; //while 문
while(num<5){
document.write(num);
num++;
}
// 결과 : 01234
08. do while문
do-while문은 while문과 유사한 반복문입니다. do-while문은 먼저 코드 블록을 실행한 후에 조건식을 평가합니다. 따라서, 코드 블록은 최소한 한 번은 실행되고, 이후에 조건식을 평가하여 다시 실행할지 결정합니다.
let num2 = 0; //거의 사용은 안합니다.
do {
document.write(num2);
num2++;
} while (num2<5);
09.for문
for문은 자바스크립트에서 가장 일반적으로 사용되는 반복문 중 하나입니다. for문은 반복 횟수를 제어하기 위해 초기값, 조건식, 증감식을 사용합니다.
for(let i=1; i<100; i++){
document.write(i);
}
document.write("<br>");
let num = [1,2,3,4,5,6,7,8,9];
let sum = 0;
for(let i=0; i<num.length; i++){
document.write(num[i]);
sum += num[i];
}
document.write("<br>");
document.write(sum);
// 결과 : 12345~99
// 123456789
// 45
10. 중첩 for문
중첩 for문(nested for loop)은 하나의 for문 안에 다른 for문이 중첩되어 있는 구조를 말합니다.
이 구조를 사용하면 각각의 요소를 조합하여 모든 경우의 수를 구할 수 있습니다.
for(let i=1; i<=10; i++){
for(let j=1; j<=10; j++){
document.write(j);
}
}
// 결과 : 12345678910
11. break문
break문은 반복문(for문, while문)에서 특정 조건을 만족할 때 반복문을 강제로 종료하는 역할을 합니다.
for(let i=1; i<100; i++){
if(i == 10){
break;
}
document.write(i);
// 결과 : 123456789
12. continue문
continue 문은 여러 프로그래밍 언어에서 사용되는 제어문 중 하나로, 반복문의 일부분을 건너뛰고 다음 반복으로 넘어가도록 하는 제어문입니다. continue 문이 실행되면 현재 반복의 실행을 즉시 중단하고 다음 반복으로 이동합니다.
for(let i=1; i<20; i++){
if(i == 10){
continue;
}
document.write(i);
// 결과 : 123459111213141516171819