열의가 식은건 아닌데 블로그에 정리하는 횟수가 적어졌달까..
패스트캠퍼스 프론트엔드 부트캠프 2주차에 접어들었습니다.
switch
조건문에는 if문 이외에 switch문이 있습니다.
if문과 swich문은 조건을 충족할 때 실행됩니다.
switch문은 하나 이상의 case문으로 구성됩니다. 대개 default문도 있지만, 이는 필수는 아닙니다.
*참고자료 : MDN Web Docs - switch
switch(조건) {
case value1:
// value1이 실행 될 때 문장
// ex. value1은 1이다. 맞으면 value1에서 종료, 아니면 value2로 넘어감
break;
case value2:
//value2가 실행 될 때 문장
break;
.
.
.
case valueN:
//
break;
default:
// value들의 조건 값이 아닐 때 실행
}
조건 : 말 그대로 조건입니다. 각 case에 맞춰볼 결과에 대한 조건
case value : case는 조건과 맞추어보는데 사용되고, 조건이 value와 일치 하면,
switch 내부의 문장이 다 끝나거나 break가 동작 할 때까지 실행됩니다.
break가 문장 내부에 있을 시
const ex = "orange";
switch (ex) {
case "apple":
console.log("사과는 1000원이다.");
break;
case "melon":
console.log("멜론은 2000원이다.");
break;
case "orange":
console.log("오렌지는 1500원이다.");
break;
default:
console.log(`진상이네, ${ex}는 없으니까 썩 꺼지쇼.`);
}
// "오렌지는 1500원이다."
문장 내부에 break가 있으면 조건이 만족 할 시에 break가 걸리는 곳에서 switch문의 동작을 끝낸다.
break가 문장 내부에 없을 시
const ex = "orange";
switch (ex) {
case "apple":
console.log("사과는 1000원이다.");
case "melon":
console.log("멜론은 2000원이다.");
case "orange":
console.log("오렌지는 1500원이다.");
default:
console.log(`진상이네, ${ex}는 없으니까 썩 꺼지쇼.`);
}
// "오렌지는 1500원이다."
// "진상이네, orange는 없으니까 썩 꺼지쇼."
문장 내부에 break가 없으면 조건을 만족해도 switch문을 끝까지 실행하고 동작을 끝낸다.
default : 어떠한 case도 조건과 일치 하지 않으면 default가 실행된다.
하지만 없어도 상관없다.
function 맥도날드(햄버거) {
let 햄최몇
switch (햄버거) {
case "빅맥":
햄최몇 = "1개";
break;
case "치즈버거":
햄최몇 = "2.5개"
break;
case "불고기버거":
햄최몇 = "2개"
break;
};
return 햄최몇
};
console.log(맥도날드("빅맥")) // 1개
console.log(맥도날드("치즈버거")) // 2.5개
console.log(맥도날드("불고기버거")) // 2개
function 맥도날드(햄버거) {
switch (햄버거) {
case "빅맥":
return "1개";
case "치즈버거":
return "2.5개"
case "불고기버거":
return "2개"
};
};
console.log(맥도날드("빅맥")) // 1개
console.log(맥도날드("치즈버거")) // 2.5개
console.log(맥도날드("불고기버거")) // 2개
처음엔,
맥도날드 함수를 선언하고, 맥도날드 함수는 햄버거라는 매개변수를 받는다.
그리고 switch문을 사용하여 어떤 햄버거가 전달되는지 확인하고, 햄최몇 변수에 값을 할당하고,
return을 통해 할당된 값을 반환한다.
두번째는,
마찬가지로 맥도날드 함수를 선언하고, 햄버거라는 매개변수를 받는다.
switch문을 사용해서 햄버거의 매개변수의 값을 확인하고, 해당 값에 따라 값을 반환한다.
(return을 통해 입력 매개변수를 기반으로 함수에서 값을 반환)
switch문을 사용할 때 기본적으로 break를 사용해서 각각의 case의 동작을 끝냄
return을 사용하면 break를 사용하지 않아도 됨
return은 switch문 뿐만 아니라 함수 자체를 종료하기 때문이다.
switch문은 if문으로 변경 가능하다.
function 맥도날드(햄버거) {
switch (햄버거) {
case "빅맥":
return "1개";
case "치즈버거":
return "2.5개"
case "불고기버거":
return "2개"
};
};
console.log(맥도날드("빅맥")) // 1개
console.log(맥도날드("치즈버거")) // 2.5개
console.log(맥도날드("불고기버거")) // 2개
// if문으로 변환
function 맥도날드(햄버거) {
if (햄버거 === "빅맥") {
return "1개";
} else if (햄버거 === "치즈버거") {
return "2.5개";
} else if (햄버거 === "불고기버거") {
return "2개";
};
};
console.log(맥도날드("빅맥")) // 1개
console.log(맥도날드("치즈버거")) // 2.5개
console.log(맥도날드("불고기버거")) // 2개
오늘은 여기까지!
필요한 내용이 있으면 수정 ver 업데이트를 하겠습니다.
댓글