if문 대신 쓸수있는 대안 중 하나
swtich문이 사용에 좀더 제한이 있다. case의 값이 하나로 떨어지는 경우에만 사용할 수 있기때문
예를들어 18일차의 점수의 범위 따른 성적을 줄때 switch문은 에러가 남
그 범위의 숫자들을 일일히 case로 써줘야함
그래서 switch문을 잘 안씀
let menu = 8;
switch (menu) {
case 1 :
console.log("물건사기");
break;
case 2 :
console.log("잔고확인");
break;
default :
console.log("홈으로 돌아가기");
}
이런식으로 case를 다 정해주고. break로 마무리 함. case마다 break를 넘겨줘야 밑에 case들을 다 들리지 않음.
default는 else처럼 매칭되는 case가 없는 경우 실행.
if...else문보다 switch 문을 사용했을 때 가독성이 더 좋다면 switch 문을 사용하는 것이 좋음
여러 문장으로 되어있는 if문을 한문장으로 줄여줌
let menu = 5;
if (menu <= 3){
console.log("범위 안의 숫자입니다");
} else {
console.log("범위 밖의 숫자입니다");
}
삼항연산식 조건? true 일때 : false 일 때
let menu = 5;
let answer = menu <= 3? "범위 안의 숫자입니다" :
"범위 밖의 숫자입니다";
for(let i =0; i<11; i++){
console.log("나는 할수있다!", i)
}
for문엔 초기식; 조건식; 증감식 세가지 식이 들어감
만일 위의 코딩을 짝수에서만 나오게 하고싶다면?
for(let i =2; i<11; i++){
if(i%2===0){
console.log("나는 할수있다!", i)
}
}
for(let i=2; i<11; i+=2){
console.log("나는 할수있다!", i)
}
둘다 결과는 같지만 방법2 코드가 조금더 효율적인 코드다
방법2는 2칸씩 점프를 하므로 5번만 돌면 되지만, 방법1은 10번 다돌아서 데이터가 나오는데 시간이 더 걸린다
즉 코드를 짤때 무엇이 더 효율적인 코드인가를 항상 생각해보면 좋다
구구단을 for문으로 만들면?
for(let x=2; x<10; x++){
for(let y=1; y<10; y++){
console.log(x+"*"+y+"="+x*y)
}
}
두개의 변수가 있으므로 이중for문을 쓰면됨
for문은 너무 많이 돌리면 프로그램 성능에 안좋음
그래서 3중 for문까진 잘 안쓰고, 2중 for문도 개발자들이 선호하지 않음
let j=1
while(j<10){
console.log("while문 실행", j);
j++;
}
for문과 비슷한 용도지만 문법만 다르다
for문을 다 분해해둔 느낌
for문은 내가 for문을 돌리고 싶은 범위를 정확히 알때 사용하고,
while문은 내가 범위를 정확히 알지 못하지만, 어떤 순간까지 돌려야할때 사용(너가 어떤 상태라면 계속 돌려줘~ 언제까지 될진 나도 잘 모르지만^^)
while(buttonclick===true){
console.log("while문 실행");
}
for문은 특히 배열과 같이 쓰일때 시너지가 좋다
let fruit = ["banana", "apple", "mango", "orange"]
for(let i = 0; i<fruit.length; i++){
console.log(fruit[i]);
}
이렇게 쓰면 배열 목록들을 일일히 다 안써도 됨
//반복문을 이용하여 위에 주어진 문자열을 역순으로 출력하는 코드를 작성해보세요.
let name = "ken";
for (let i = name.length; i>=1; i--) {
console.log(name[i-1]);
}
//반복문을 이용하여 위에 주어진 문자열의 홀수번째 글자만 출력하는 코드를 작성해보세요.
let longText = "0i1a2m3k4e5n";
for (let i = 1; i<=longText.length; i+=2) {
console.log(longText[i-1]);
}
for (let i = 1; i<=100; i++) {
if (i%3===0 && i%5===0){
console.log("fizzbuzz");
} else if (i%3===0) {
console.log("fizz");
} else if (i%5===0) {
console.log("buzz");
} else {
console.log(i);
}
}
let a = 10;
let b = 20;
let c = 30;
if (a-b>0) {
if (a-c>0) {
console.log(a);
} else {
console.log(c);
}
} else if (b-c>0) {
console.log(b);
} else {
console.log(c);
}
let word = "dolphin";
let sentence = "Where did Jane get the dolphin from, John?";
let indexOfD = sentence.indexOf(word);
let indexOfN = indexOfD + word.indexOf("n");
console.log(indexOfD, indexOfN);
새로고침했더니 없던게 생겨서 다 품
let result = 0;
for (let i = 1; i<=100; i++) {
result += i
}
console.log(result);
for ( let i = 1; i<=100; i+=2) {
console.log(i);
}
for ( let i = 1; i<=50; i++) {
if (i === 33 || i === 36 || i === 39) {
console.log("짝짝");
} else if (String(i).includes("3")||String(i).includes("6")||String(i).includes("9")) {
console.log("짝");
} else {
console.log(i);
}
}
내일 이어서 풀기