GDJ 8/01

Yongha Hwang·2023년 8월 1일
0

Java Script

1.조건문

  • if
    • if는 만약에 어떤 상황(조건)이 일어 났을 경우(true) 특정 내용({...})을 실행
    • 조건을 만족시키지 못할 경우 else를 활용 할 수 있다.
    • 여러 경우를 처리 할 경우는 else if를 활용 할 수 있다.
 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+"는 보유하지 않은 음료 입니다.");
        }
  • switch
    • 위의 예문 처럼 각각의 조건이 특정한 값을 가질 때 else if를 사용하기 보다는 switch문을 활용하여 빠른 처리를 할 수 있다.
                값이 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("해당 음료가 없습니다.");
        }

2.반복문

  • 단순한 일을 반복 할 때 사용한다.

  • 자동화를 위해 가장 중요한 조건이다.

  • 특정한 조건이 만족 되어야 반복한다.

  • for

    • 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("_______________");
        }        
  • while
    • while(조건){
      해야 할 일;
      }
    • 종료 횟수가 정해지지 않은 경우
 var i = 1;
        while(i<=10){//while 안의 조건이 true이면 반복한다.
                //조건이 어느상황에서도 true면 반복이 멈추지 않는다.
            console.log(i);
            i++;
        }
  • do while
    • 조건이 만족 하지 않더라도 최초 1회 수행을 한다.
    • while 과 do while은 기본적으로 같은 값을 반환.
    • 조건을 벗어난 값이 들어왔을때 차이가 생긴다.

3.제어문

  • 특별 한 경우 영역안의 내용을 모두 실행하지않고 빠져 나오게 한다.
  • break
    • break는 진행중인 문장을 빠져나온다.
    • 1.탐색할 경우(100개의 데이터 중 찾는 내용이 50번째에 있다면 더이상 반복하지 않고 빠져 나온다.)
    • 2.sharing(100개의 빵을 나누어 주는데, 100개가 소진되면 더이상 나눠주지 않고 빠져나온다.)
     for(var i =0; i<10; i++){
            console.log("i : "+i);
            if(i==3){
                break;
            }
  • continue
    • break는 실행을 멈추고 탈출 한다면 continue는 실행을 무시한다.
    • ex) 찾는 사람의 성별이 남성이면 찾지않고 지나친다.
for(var i=0; i<10; i++){
            if(i==3){
            continue;
            }
            console.log(i);
        }

4.배열

  • array
    • 배열은 변수를 일렬로 세워놓고 각 상자에 번호를 붙여놓은 형태이다.
    • 각 변수들은 기준 변수에서 얼마나 떨어져 있는지가 자동으로 이름이 된다.
    • 그래서 배열의 첫번째 값은 0번이다.
        // 배열 선언
        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, 배열, 함수)
  • array-function
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);
        }
  • shallow copy
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 를 사용 하면 된다.

1개의 댓글

comment-user-thumbnail
2023년 8월 1일

유익한 글이었습니다.

답글 달기

관련 채용 정보