var item = "커피";
if(item == "콜라"){
console.log(item+"가 나왔습니다.");
}else if(item == "생수"){
console.log(item+"가 나왔습니다.");
}else if(item == "오렌지주스"){
console.log(item+"가 나왔습니다.");
}else if(item == "사이다"){
console.log(item+"가 나왔습니다.");
}else if(item == "에너지음료"){
console.log(item+"가 나왔습니다.");
}else if(item == "식혜"){
console.log(item+"가 나왔습니다.");
}else{
console.log(item+"는 보유하지 않은 음료 입니다.");
}
값이 case 와 일치되면 실행
switch(item){
case "콜라":
console.log("콜라가 나왔습니다.");
break;
case "생수":
console.log("생수가 나왔습니다.");
break;
case "오렌지주스":
console.log("오렌지주스가 나왔습니다.");
break;
case "사이다":
console.log("사이다가 나왔습니다.");
break;
case "에너지음료":
console.log("에너지음료가 나왔습니다.");
break;
case "식혜": // case 는 값만 넣을 수 있다.
console.log("식혜가 나왔습니다.");
// {에서 } 까지 실행 해야 하는데
// 해당 case 내용만 실행하고 빠져나오기 위해 break 사용
break;
default:
console.log("해당 음료가 없습니다.");
}
단순한 일을 반복 할 때 사용한다.
자동화를 위해 가장 중요한 조건이다.
특정한 조건이 만족 되어야 반복한다.
for
for(var num=2; num<=9;num++){
console.log(num+" 단 시작");
for(var i=1; i<=9;i++){
console.log(num+" X "+i+" = "+(2*i));
}
console.log("_______________");
}
var i = 1;
while(i<=10){//while 안의 조건이 true이면 반복한다.
//조건이 어느상황에서도 true면 반복이 멈추지 않는다.
console.log(i);
i++;
}
for(var i =0; i<10; i++){
console.log("i : "+i);
if(i==3){
break;
}
for(var i=0; i<10; i++){
if(i==3){
continue;
}
console.log(i);
}
// 배열 선언
var arrNum = [];
var arrString = new Array();
//배열에 데이터 추가
arrNum = [1,2,3,4];//한꺼번에 넣기
console.log(arrNum);
arrNum[4] =5; //특정 방번호(인덱스)를 지정해서 넣기
console.log(arrNum);
arrNum.push(6);// 무조건 마지막에 넣기
console.log(arrNum);
//배열은 기본적으로 길이의 정보를 제공한다.
console.log(arrNum.length);
//배열 역시도 어떤것이든 다 들어 간다.
(숫자, 문자, boolean, 배열, 함수)
var arr =[]; //전역변수
var i = 1;
function arrPush(){
//console.log("click!!!!");
arr.push(i);//뒤에서 데이터를 넣는다.
console.log(arr);
i++;
}
function arrPop(){
var num = arr.pop(); //뒤에서 데이터를 빼낸다.
console.log("빼낸 값 :" +num);
console.log(arr);
}
function arrUnshift(){
arr.unshift(i); //앞에서 데이터를 넣는다.
i++;
console.log(arr);
}
function arrshift(){
var num = arr.shift(i); //앞에서 데이터를 빼낸다.
console.log("빼낸 값 : "+num);
console.log(arr);
}
function arrSlice(){
//slice : 원본 배열에서 특정 영역만큼 복사해서 가져온다.
//slice(필요한번호, 버릴번호)
/*var numArr = [0,1,2,3,4,5];
console.log(numArr);
// 1번 부터 가져오고, 4번부터 필요없음
// 이걸 복사해서 newArr 이라는 변수에 넣음
var newArr = numArr.slice(1,4);
console.log(newArr);
*/
var strArr = ["A", "S", "D", "F", "G", "H"];
var newArr;
newArr = strArr.slice(2,5);
console.log(newArr);
//DFG 를 가져와 newARR에 넣어라
}
arr = ['가', '나', '다','라', '마', '사'];
function spliceDel(){
console.log(arr);
arr.splice(2,2); //몇번 인덱스부터, 몇개 지우기 (원본수정)
console.log(arr);
}
function spliceAdd(){
//splice를 이용해서 데이터 수정
console.log(arr);
// 다, 라 -> A, B
//몇번 인덱스부터, 몇개 지우기, 추가할값들...
/* arr.splice(2,2,'A', 'B');
// 2번 인덱스 부터 2개를 지우고 그 자리에 A와B를 넣는다
console.log(arr);*/
// 지우지 않고, 2번인덱스에 A,B만 추가해 보자
arr.splice(2,0,'A','B');
console.log(arr);
}
function arrConcat(){
//배열 합치기
var arr1 = [1,2,3,4,5];
var arr2 = ['A', 'B', 'C', 'D', 'E'];
//arr1.concat(arr2,arr3,...)
var newArr = arr1.concat(arr2);
console.log(newArr);
}
function arrJoin(){
var arr = [1,2,3,4,5];
console.log(arr);
console.log(arr.join('*')); //배열값과 값 사이에 들어갈 문자
}
function arrDel(){
//특정한 방을 지워준다.
var arr = [1,2,3,4,5];
console.log(arr);
// ''과 null 은 같은가? -> X
delete arr[2]; //arr 의 2번 인덱스를 지우고, 빈칸으로 놔눈다.
// 이 경우 2번 인덱스는 비어있기 때문에 문제가 될 수 있다.
//그래서 지우고 난 이후에는 어떤 값이라도 넣어줘야 한다.
arr[2] = 0;
console.log(arr);
}
var x = 10;
var y = x;
x = 20;
//이때 x와 y의 값은?
// x : 20 , y : 10
console.log(x,y);
var a = [1,2,3,4,5];
var b = a;
console.log("a :"+a.valueOf());
console.log("b :"+b.valueOf());
a[0] = 50;
a[4] = 100;
console.log("a :"+a.valueOf());
console.log("b :"+b.valueOf());
/*우리는 a의 배열을 건드렸지만 b 배열의 값도 변경되었다.
이것을 shallow copy 라고 부른다.
두 배열은 복사되었다기 보다는 링크되었다고 보는 것이 맞다.*/
// 그래서 실수가 많이 일어난다.(일반 변수에서는 안그러니까)
// 복사하려면 그냥 하나씩 옮겨야 한다.
// 일부만 복사 하려면 앞에서 배운 slice 를 사용 하면 된다.
유익한 글이었습니다.