Javascript

(7)Javascript_기본문법

빠스무 2023. 4. 11. 09:26
728x90

연산자(operation)

  • 산술 연산자

            +, -, *, /, %, **

  • 비교 연산자

            >, <, >=, <=, ==, !=
            === 두 식의 값이 같고, 타입까지 같아야 참
            !== 두 식의 값이 다르고, 타입까지 달라야 참
            예)
            3 == 3 -> true
            '3' == 3 -> true
            '3' === 3 -> false

  • 대입 연산자

            =, +=, -=, *=, /=, %=, **=

  • 증감 연산자

            ++변수, --변수, 변수++, 변수--

        

           num = 10
            ++num   // 11
           --num   // 10
           num++   // 11
            num--   // 10

            num = 10
            result = ++num // result = 11, num = 11
            result = num++ // result = 11, num = 12

  • 논리 연산자

             &&       ||       !
            and      or      not

  • 비트 연산자

             &,       |,      !,     ^,      <<,      >>

  • 삼항 연산자

            변수 = 조건식 ? 반환값1 : 반환값2
                조건식이 true일 때 반환값1이 변수에 저장
                조건식이 false일 때 반환값2가 변수에 저장

제어문

            if문
           if(조건식){
               조건식의 결과가 true일 때 실행할 문장;
                ...
            }
        
            if ~ else 문
            if(조건식){
               조건식의 결과가 true일 때 실행할 문장;
                ...
            }

            else{
                조건식의 결과가 false일 때 실행할 문장;
                ...
            }

            if~else if~else 문
            if(조건식1){
                조건식1의 결과가 true일 때 실행할 문장;
                ...
           }
        
           else if(조건식2){
                조건식2의 결과가 true일 때 실행할 문장;
                ...
            }

            else if(조건식3){
                조건식3의 결과가 true일 때 실행할 문장;
                ...
           }
    
           else{
               모든 조건식의 결과가 false일 때 실행할 문장;
                ...
            }

            switch문

           switch(변수){
                case 값1:
                    변수와 값1이 같은 경우 실행할 문장;
                    ...
                   break;

                case 값2:
                    변수와 값2이 같은 경우 실행할 문장;
                    ...
                    break;

                case 값3:
                    변수와 값3이 같은 경우 실행할 문장;
                    ...
                    break;

                default:
                    변수와 모든 값이 다를 경우 실행할 문장;
                    ...
            }

반복문

            while문
        
            while(조건식){
                조건식의 결과가 true인 동안 반복할 문장;
                ...
           }

            do ~ while문
            조건식의 결과가 처음부터 false 일 경우에도  1번은 {}에 문장을 실행함

            do {
                조건식의 결과가 true인 동안 반복할 문장;
                ...
           }while(조건식);

           for문
           for(초기값;조건식;증감식){
                조건식의 결과가 true인 동안 반복할 문장;
               ...
           }

break문

  • switch문 또는 반복중인 루프 내에서 사용하여 해당 문장을 완전히 종료시키고 다음에 위치한 실행문으로 이동

           num = 1;
           while(num <= 10){
                if(num == 5) break;
                console.log(num);
                num++;
            }

continue 문

  • 반복중인 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고 다음 조건식의 판단으로 넘어감

            num = 1;
           while(num <= 10){
               if(num == 5) continue;
               console.log(num);
               num++;
           }

배열(Array)

  • 이름과 인덱스로 참조되는 정렬된 값의 집합(자료구조)
  • 배열을 구성하는 각각의 값을 배열 요소라고 하며, 배열에서의 위치를 가리키는 숫자를 인덱스라고 함

           배열 선언
           let 배열명;

           배열 초기화
           배열명 = [요소1, 요소2, 요소3 ...];

           예)
           let arr;
           arr = [100, 200, 300];

           let arr = [100, 200, 300];

           배열 객체로 생성
           const 배열명 = new Array(요소1, 요소2, ...);

           배열의 접근
           let arr;
           arr = [100,200,300];

           console.log(arr[0]) //100
           console.log(arr[1]) //200
           console.log(arr[2]) //300

자바스크립트 배열의 특징

  • 배열 요소의 타입이 고정되어 있지 않음

          let arr = [1, 1.5, '김', true]

  • 배열 요소의 인덱스가 연속적이지 않아도 됨

            let arr;
           arr[0] = 1;
           arr[1] = 20;
           arr[4] = 5;
           ✔ index 2,3은 undefined

Array 객체의 메소드

  • push(): 배열의 요소를 추가
  • pop(): 배열의 마지막 주소에 있는 값을 제거
  • shift(): 배열의 첫번째 주소에 있는 값을 제거
  • concat(): 두개의 배열을 합침
  • join(): 배열 요소 사이에 원하는 문자를 삽입
  • reverse(): 배열을 역순으로 재배치
  • sort(): 배열을 오름차순으로 정렬

배열을 이용한 반복

for in 문

  • 변수에 배열의 인덱스 또는 객체의 key가 저장되며 반복

            const arr = [10,20,30];
            const user = {userid:'apple',name:'김사과',age:20}
    
           for(변수 in 배열 또는 객체){
                배열의 요소 개수 또는 객체의 프러퍼티 개수만큼 반복할 문장;
                ...
            }

for of 문

  • 변수에 배열의 value 또는 객체의 value 저장되며 반복
  • iterator 속성을 가지는 컬렉션 전용

            for(변수 in 배열 또는 객체){
                배열의 요소 개수 또는 객체의 프러퍼티 개수만큼 반복할 문장;
                ...
            }

forEach 문

  • 배열에서만 사용 가능하며, 요소의 개수만큼 반복

            const arr = [10,20,30];

           배열명.forEach(function(변수1, 변수2, 변수3){
                배열의 요소 개수만큼 반복할 문장;
                ...
            });

           변수1: 배열의 요소값 10 -> 20, -> 30
           변수2: 배열의 인덱스 0-> 1 -> 2
           변수3: 배열 객체 [10,20,30] -> [10,20,30] -> [10,20,30]