JavaScript 기본편(3) - 기본문법

2023. 8. 24. 16:18Lang/JavaScript

자바스크립트 복습하기 3편

 

자바스크립트는 자바랑 연관이 없는데 

 

문법구조는 상당히 비슷하다

 

1. 조건문

               (1) if 

                         - 기본적인 골격은 java와 같다 ( if - else if - else 구조)

                         - 논리식을 쓰는 부분에서 '같다' 라는 의미의 표시가 '==' 와 '===' 2개있다.

                                                 '==' : 데이터 값만을 비교해서 같다라는 의미 

                                                 '===' : 데이터 값 뿐만아니라 데이터 형식까지 비교해서 같다라는 의미

                         - 예시 :

        let col = prompt("색깔을 적어주세요(빨강, 초록, 파랑)")

        if( col == '빨강'){
            document.querySelector('body').style.backgroundColor = 'red';
        }else if (col == '초록') {
            document.querySelector('body').style.backgroundColor = 'green';           
        }else if(col == '파랑'){
            document.querySelector('body').style.backgroundColor = 'blue';
        }else {
            document.querySelector('body').style.backgroundColor = 'black';
        }

 

               (2) switch

                         - 기본적인 골격은 java와 같다

                         - 예시 :

function switchOfStuff(val) {
  var answer = "";
  switch (val){
    case "a":
      answer = "apple";
      break;
    case "b":
      answer ="bird";
      break;
    case "c":
      answer ="cat";
      break;
    default:
      answer ="stuff"; 
      break;
  }
  return answer;
}

switchOfStuff(1)       //"stuff"  
switchOfStuff("c")     //"cat"

(** default  :  만약 매칭이 되는 케이스문이 없을때 실행되야 할 코드를 지정 (if문의 else와 비슷))

 

 

2. 반복문

           (1) while

                         - 기본적인 골격은 java와 같다

                         - 예시 :

        //1. 랜덤 수 지정      
        let num1 = prompt('1~10사이의 정수를 입력해주세요');
        
        //2. 입력받기
        rand = Math.floor(Math.random()*10)+1;
        
        //3. 조건문 통해서 입력받은 숫자와 random숫자가 같은지 비교
        while(true){
            if(rand > Number(num1)){
                alert("입력한 숫자보다 큰 수 입니다.");
            }else if(rand< Number(num1)){
                alert("입력한 숫자보다 적은 수 입니다.");
            }else{
                alert('정답입니다! 축하합니다!');
                break;
            }
            num1 = prompt('숫자를 입력해주세요');
        }

     

           (2) for

                         - 기본적인 골격은 java와 같다

                         - 예시 :

        let num1 = prompt('시작할 숫자를 입력해주세요');
        let num2 = prompt('마지막 숫자를 입력해주세요');
        let totaladd = 0;
        for(let i= Number(num1); i<=Number(num2);i++ ){
            totaladd += i;
        }
        console.log(num1+'부터 '+num2+'까지의 합 >> '+totaladd) ;

(** Number : java의 Integer같이 데이터 타입으로 숫자데이터로 형변환하는데 쓰임)

 

 

3. 배열

           (1) 선언

                         - 2가지 방법이 있다

        // 1. 배열 선언
        let nameList = [];                  // 1번 방법
        let nameList2 = new Array();        // 2번 방법

           (2) 생성

                         - 2가지 방법이 있다

        // 2. 배열 생성
        nameList = ['a', 'b','c','d'];
        nameList2 = new Array('a', 'b','c','d');

 

           (3) 값 추가 

                         - Java와 달리 서로 다른 데이터타입을 저장할 수 있다.

        // 3. 배열에 값 추가(인덱스) -> 서로 다른 데이터 저장
        let arr = [];
        arr[0] = 'segno';
        arr[1] = true;
        arr[2] = 27;

 

           (4) 배열의 크기

                         - Java와 같이 length를 이용한다

        console.log(nameList.length);
        console.log(nameList2.length);
        console.log(arr.length);

 

           (5) 배열의 메소드

                         5-1. push() 

                                             - 배열의 마지막 인덱스에 값 추가

                                             - 배열.push(넣을값)

let arr = [1,2,3,4];

arr.push(5)
console.log("push : "+arr);

                         5-2. pop()

                                             - 배열의 마지막 인덱스의 값 삭제

                                             - 배열.pop()

    arr.pop();
    console.log("pop : "+arr);

                         5-3. unshift()

                                             - 배열의 첫번째 인덱스에 값 추가

                                             - 배열.unshift(넣을값)

    arr.unshift(0);
    console.log("unshift : "+arr);

                         5-4. shift()

                                             - 배열의 첫번째 인덱스의 값 삭제

                                             - 배열.shift()

    arr.shift();
    console.log("shift : "+arr);

                         5-5. reverse()

                                             - 배열의 요소를 반대로 정렬

                                             - 배열.reverse()

    arr.reverse();
    console.log("reverse : "+arr);

                         5-5. concat()

                                             - 두개의 배열 합치기

                                             - 배열1.concat(배열2)

let arr1 = [1,2,3];
let arr2 = [4,5,6];
    
let arr3 = arr1.concat(arr2);
console.log("concat : "+arr3);

                         5-7. join()

                                             - 배열의 요소를 구분자로 이어서 String 형태로 리턴

                                             - 배열.join(구분자)

   let result = arr3.join('/');
    console.log("join : "+result);

                         5-8. typeof

                                             - 타입확인

                                             - typeof 배열

    console.log("result의 타입 : "+typeof result);
    console.log("arr3의 타입 : "+typeof arr3);

                         5-9. slice()

                                             - 범위에 해당하는 데이터 잘라내기

                                             - 끝 인덱스는 포함 X

                                             - 잘라낸 데이터를 배열로 반환

                                             - Java의 substring메소드 역할

                                             - 배열.slice(시작인덱스,끝인덱스)

    let arr4 = arr3.slice(0, 3);
    console.log("slice : "+arr4);

                         5-10. splice()

                                             - 요소를 삭제하고 새로운 내용 추가

                                             - 삭제된 요소를 return

                                             - 배열.splice(시작인덱스, 삭제개수 , 추가할 값1,추가할값2,...,추가할값n)

    let arr5 = arr3.splice(3, 3);
    console.log("splice삭제만 : "+arr3);
    console.log("splice삭제된요소 : "+arr5);

    arr3 = [1,2,3,4,5,6];
    arr3.splice(3, 3, 7,8,9);
    console.log("splice삭제후추가: "+arr3);

                         5-11. includes()

                                             - 배열에 요소가 있는지 확인

                                             - True or False를 return

                                             - 배열.includes(확인할 데이터)

    console.log("arr3에 10 있는가? "+arr3.includes(10));
    console.log("arr3에 1 있는가? "+arr3.includes(1));

                         5-12. indexOf()  

                                             - 배열에서 요소의 위치

                                             - 인덱스 번호를 return ( 만약 없을경우 -1 return)

    console.log("arr3에 7의 위치 : "+arr3.indexOf(7));
    console.log("arr3에 10의 위치 : "+arr3.indexOf(10));

'Lang > JavaScript' 카테고리의 다른 글

JavaScript 기본편(4) - 함수  (0) 2023.08.25
JavaScript 기본편(2) - 실행위치  (0) 2023.08.24
JavaScript 기본편(1)  (0) 2023.08.08