LHJ

I'm a FE developer.

3-7. 연산자(Operator) / 후치, 전치, 논리 NOT 연산자

18 Nov 2020 » js_beginner

23. 후치, 전치, 논리 NOT 연산자

후치 ++ 연산자

  • 형태 : value++
  • 값을 자동으로 1 증가시킴

    • 문장을 수행한 후에 1 증가
    • 즉, 세미콜론(;) 다음에서 증가

        var one = 1;
        var value = one++ + 3;
        console.log(value); // 4
        console.log(one); // 2
      
      1. one++를 하면 1이 2가 되지만 문장 안이므로 1이 증가하지 않습니다.
        세미콜론 이후에 one 변수값을 1 증가시킵니다.
      2. 1 + 3을 하게되어 4가 됩니다.

전치 ++ 연산자

  • 형태 : ++value
  • 값을 자동으로 1 증가시킴

    • 문장 안에서 1 증가
    • 표현식을 평가하기 전에 1 증가
      표현식에서 증가된 값을 사용

        var one = 1;
        var value = ++one + 3;
        console.log(value); // 5
      
      1. 문장ㅇ이 끝나기 전이지만 먼저 1을 증가시키고 3을 더합니다.
      2. 2 + 3을 하게 되므로 5가 출력됩니다.

후치 – 연산자

  • 형태 : value--
  • 값을 자동으로 1 감소시킴

    • 문장을 수행한 후에 1 감소
    • 즉, 세미콜론(;) 다음에 감소

        var two = 2;
        var value = two-- + 3;
        console.log(value); // 5
        console.log(two); // 1
      
      1. two--를 하면 2가 1이 되지만 문장 안이므로 1이 감소하지 않습니다.
      2. 2 + 3을 하게되어 5가 됩니다.

전치 – 연산자

  • 형태 : --value
  • 값을 자동으로 1 감소시킴

    • 문장 안에서 1 감소
    • 표현식을 평가하기 전에 1 감소
      표현식에서 감소된 값을 사용

        var two = 2;
        var value = --two + 3;
        console.log(value); // 4
      
      1. 문장이 끝나기 전이지만 먼저 1을 감소시키고 3을 더합니다.
      2. 1 + 3을 하게되므로 4가 출력됩니다.

! 연산자

  • 논리(Logical) NOT 연산자

    • 형태 : !value

  • 표현식 평가 결과를 true, false로 변환한 후 true이면 false를, false이면 true를 반환
  • 원래 값은 바뀌지 않으며 사용할 때만 변환

      var value = true;
      console.log(!value); // false
      console.log(!!"A"); // true
    
    1. true를 바꾸어 false로 출력
    2. A는 true, !A는 false, !!A는 true

ES3 시절엔 !!"A" 형태 많이 사용했습니다.
그 당시 자바스크립트는 불안했기 때문입니다.
그래서 완전하게 true 또는 false 를 사용하기 위해 위와 같은 방법을 사용했었습니다.