개발 공부/JavaScript

4. operator, if, for, loop

무우너대갈 2022. 1. 16. 23:45
반응형

Operator

1) String concatation

  - "string1" + "string2" => string1 string2 

  - "string1" + 2 => string12

    -> 숫자가 문자열로 변환됨

  - `string literals : 1+ 2 = ${1 + 2}` => string literals : 1+2 = 3

     + 중간의 특수 기호도 `` 사이에서는 잘 출력됨

     ++ \n : 엔터, \t : 탭

     +++ 'string' 중 ' 표시하고 싶은 경우 \ 추가해주기

 

2) Numeric operators

  - + : 덧셈

  - - : 뺄셈

  - * : 곱셈

  - / : 나눗셈

  - % : 나머지 연산

  - ** : 제곱 연산

 

3) Increment and decrement operators

  - let preIncrement = ++counter 

      counter = counter + 1;

      preIncrement = counter;

  - let postIncrement = counter++

      postIncrement = counter;

      counter = counter + 1;

  - let preDecrement = --counter  

      counter = counter - 1;

      preIncrement = counter;

  - let postDecrement = counter--

      postDecrement = counter;

      counter = counter - 1;

 

4) Assignment operators

  - x += y : x = x + y

  - x -= y : x = x - y

  - x *= y : x = x * y

  - x /= y : x = x / y

 

5) Comparison operators

  - < : less than

  - <= : less than or equal

  - > : greater than

  - >= : greater than or equal

 

6) Logical operators

  - || : or(하나라도 true라면 true로 계산됨)

  - && : and

  - ! : not

     + ||(or) 연산을 사용하는 경우 연산을 많이하거나,  expression은 뒤에서 호출하는 것이 효율적

 

7) Equality

  - == : loose equality

    - 타입을 변경해서 검사

      ex. string '5' == number 5 => true

           string '5' != number 5 => false

  - === : strict equality

    - 타입이 다른 경우 다르다고 인식

      ex. string '5' === number 5 => false

           string '5' !== number 5 => true

  - object equality

     ex. const octopus1 = {name : 'octopus'};

         const octopus2 = {name : 'octopus'};

         const octopus3 = octopus1;

         octopus1 ==  octopus2 => false

         octopus2 === octopus2 => false

         octopus1 === octopus3 => true

+ 확인해보기!

   0 == false => true

   0 === false => false(0은 bool 연산자가 아니기 때문)

   '' == false => true

   '' === fasle => false(''은 bool 연산자가 아니기 때문)

   null == undefined => true

   null === undefined => false (타입이 다르기 때문)


반응형

조건문

1) Conditional operators : if

  - if(조건절) {

       실행문

    } else if(조건절) {

       실행문

    } else {

       실행문

    } 

 

2) Ternary operator : ?

  - 조건절 ? true인 경우 실행문 : false인 경우 실행문  

  - 간단한 경우에서만 활용하기

 

3) Switch statement

  - swtich(변수) {

        case 상태 :

            실행문

            break;

        case 상태 :

            실행문

            break;

        }

  - 변수가 특정 케이스와 동일한 경우 실행

  - 같은 내용을 실행할 경우 case를 붙여서 사용


반복문

1) While

  - while(조건문) {

    실행문

    조건 변수 제어문

    } 

  - 괄호 안 조건문에 true인 경우 반복

 

2) do while

  - do {

     실행문

      조건 변수 제어문

    } while(조건문)

  - 블럭을 실행한 후 조건을 검사

 

3) for

  - for(시작; 조건; 단계){

      실행문

     }

+ 이중반복문을 실행하게 될 경우 : 실행시간 O(n**2)

      -> CPU에 좋지 않음!! 지양하기!

 

4) break : 루프 끝내기

 

5) continue : 지금 단계만 넘어가고 다음 단계 실행하기


+ 변수를 제외하고는 다른 언어들과 operators가 완전 똑같아서 이 부분에서 어려움을 느끼는 일은 없을 것 같다! 

++ 알고리즘에서 지긋지긋하게 봤던 저 실행시간 계산 간만에 보니 좀 반가운 것 같기도 ㅎㅎ 

+++ 이제 정처기 필기 시험 접수가 곧 다가오던데 슬슬 정처기 공부도 시작해야겠다!

 

 

반응형

'개발 공부 > JavaScript' 카테고리의 다른 글

6. 클래스와 오브젝트의 차이점  (0) 2022.01.19
5. Arrow function  (2) 2022.01.18
3. 데이터타입(let? var?) hoisting  (0) 2022.01.15
2. async와 defer의 차이점은?  (0) 2022.01.14
1. JavaScript 역사  (0) 2022.01.14