본문 바로가기

JavaScript & JQuery

JavaScript(3)

연산자

연산자

  • 연산 - 데이터를 처리해서 결과물을 산출하는 것
  • 연산자 - 연산에 사용되는 표시나 기호
  • 피연산자 - 연산의 대상이 되는 데이터
종류 구분 연산자
최우선 연산자 직접 접근 (), [], .
단항 연산자 ++, --, +sign, -sign 
이항 연산자 산술 연산자 +, -, *, / ,%
비교 연산자 > , <, >=, <=, ==, !==, ===, !==
논리 연산자 &&, ||
삼함 연산자 ? : ;
대입 연산자 순수 대입 =
복합 대입 +=, -=, *=, /*, %=

연산자 우선순위 : 최우선 > 단항 > 산술 > 관계 > 논리 > 삼항 > 대입

 

단항 연산자

  • 부호 연산자 [+ -]
  • 논리 부정 연산자 [!]
  • 증감 연산자 [++ --]

단항 연산자

부호 연산자 : + -

변수의 부호를 유지(+)하거나 변경(-)할 때 사용.

실제 값을 바꾸는 것은 아니며, 값을 바꾸기 위해서는 대입

연산자 (=)을 사용해야 함.

 

부호 연산자 예시

<script>
        let num = 200;
        console.log(+num);
        console.log(-num);
        console.log(num);
        //실제 값을 바꾸기 위해서는 =을 사용해줘야함.
        num = -num;
        console.log(num);
    </script>

논리 부정 연산자 : !

논리값을 부정하여 반대 값으로 변경. 제어문을 활용할 때 많이 쓰임

 

논리부정 연산자 예시

<h3>논리 부정 연산자 : !</h3>
    <p>true(참) -> false(거짓) , false ->true</p>
    <script>
        let yes = true;
        let no = !yes;
        console.log(no);
    </script>

단항 연산자

증감 연사자 : ++ --

피연산자의값에 1을 더하거나 빼는 연산자

위치에 따라 출력 값이 다르게 나타남

 

전위 연산 : 먼저 연산 후 다른 연산 실행

후위 연산 : 다른 연산 우선 실행 후 연산

<script>
        let addNum = 2;
        console.log(++addNum);
        // ++addNum
        // addNum = addNum+1;
        console.log(--addNum);
        // --addNum;
        // addNum = addNum-1;
    </script>

증감 연산자

전위, 후위 연산자 예시

<h2>전위 연산자, 후위 연산자</h2>
    <p>
        전위 연산자 : ++a, --a
        후위 연산자 : a++, a--
    </p>
    <script>
        let a = 2, b = 0 ;
        // let a = 2;
        // let b = 0;
        console.log(a);
        console.log(b);
        //전위연산자
        b = --a;
        // a = a-1;
        // b = a;
        console.log(a);     //1
        console.log(b);     //1
        // 초기화
        a = 2; b = 0;
        // 후위 연산자
        b = a--;
        // b = a;
        // a = a -1;
        console.log(a);
        console.log(b);
        let num1 = 20;
        let num2 = 0;
        num2 = ++num1;
        console.log(num1);
        console.log(num2);
        num1 = 20;
        num2 = 0;
        num2 = num1++;
        console.log(num1);
        console.log(num2);
    </script>

복합 대입 연산자

다른 연산자와 대입 연사자가 결합한 것으로

자기 자신과 연산 후 연산 결과를 자신에게 누적 대입

a += 10 === a = a+10

a -= 10 === a = a-10

a *= 10 === a = a*10

a / =10 === a = a/10

a % = 10 === a = a % 10

[증감 연산과 비슷해 보이지만 증감연사자는 (++, --)1씩 증가

대입 연사자는 원하는 값을 증가시키고 그 변수에 저장 가능]

<h2>예제4</h2>
    <input type="text" id="writeText">
    <button onclick="addText();">문자열 누적하기</button>
    <textarea id="printText"></textarea>
    <script>
        function addText(){
            let one = document.getElementById('printText').value;
            let two = document.getElementById('writeText').value;
            one += two;
            document.getElementById('printText').value = one;
        }
    </script>

 

이항 연산자

  • 산술 연산자 : +  -  *  /  %
  • 비교 연산자 : >  <  >=  <=  == !=
  • 논리 연산자 : && ||

산술 연산자

연산 방법과 우선 순위가 일반 수학과 동일

산술 연산자 설명

+ : 더하기  / *:곱하기

- : 빼기

/ : 나누기의 몫 구하기

% : 나누기의 나머지 구하기

<h2>산술연산자</h2>
    <p> + , -, *, / , % 계산하기</p>
    <input type="number" id="num_1">
    <input type="number" id="num_2">
    <input type="button" id="cal_btn" value="계산하기">
    <script>
        document.getElementById('cal_btn').onclick = function(){
            let first = Number(document.getElementById('num_1').value);  
            let second = document.getElementById('num_2');
            second = second.value;
            second = Number(second);
            console.log('+ :'+(first+second));
            console.log('- : '+(first-second));
            console.log('* : '+(first*second));
            console.log('/ : '+(first/second));
            console.log('% : '+(first%second));
        }
    </script>

비교 연산자

데이터가 같은지, 다른지 비교하는 경우 사용 / 비교 결과 값으로 항상 논리 값(true, false)이 나옴

피연산자로 모든 자료형(기본형,  참조형)사용 가능

a b a == b a! =b
3 5 false true
5 5 true false

동등 연산자

== [동등 연산자 , 데이터가 같은지, 다른지 비교할 때 사용, 데이터의 type이 다른 경우에도 값만 일치하면 true]

console.log(1=='1'); //true

===[일치 연산자 / 데이터의 type이 다르면 fasle]

<script>
        console.log(null == undefined);  //true
        console.log(null === undefined); //false
        console.log(true == 1); //true
        console.log(true === 1); //false
        console.log(true == '1'); //true
        console.log(true === '1'); //false

        console.log(0 == -0); //true
        console.log(0 === -0); //true
        console.log(NaN == NaN); //false
        console.log(NaN === NaN); //false
    </script>

 

<h2>비교 연산자</h2>
    <p>
        == : 동등비교 <br>
        != : 불일치비교 <br>
        === : 자료형 포함 동등비교 <br>
        !== : 자료형 포함 불일치 비교 <br>
        대소비교 : >, <, <=, >=
    </p>
    <script>
        let cNum = 200;
        let cStr = '200';
        let cNum2 = 100;
        let cStr2 = '300';
        console.log(cNum==cStr);
        console.log(cNum===cStr);
        console.log(cNum!=cStr);
        console.log(cNum!==cStr);
        console.log(cNum < cStr);
        console.log(cNum <= cStr);
        // 비교 연산자 여러개 연결
        // and 와 or
        // and(&&) : 둘 다 충족할 때 true
        // or(||) : 둘중에 하나만 충족해도 true
        console.log(cNum < 300 && cNum > 100);
        console.log(cNum < 300 || cNum > 400);
    </script>  

비교 연산자

> >= <= < : 두 피연산자의 값의 크기 비교 일치하면 true, 불일치하면 false 반환

 

논리연산자

&& : 두 피연산자가 모두 true일 때 true 반환 AND

|| : 두 피연산자 중 하나만 true여도 true반환  OR

<h2>비교 연산자</h2>
    <p>
        == : 동등비교 <br>
        != : 불일치비교 <br>
        === : 자료형 포함 동등비교 <br>
        !== : 자료형 포함 불일치 비교 <br>
        대소비교 : >, <, <=, >=
    </p>
    <script>
        let cNum = 200;
        let cStr = '200';
        let cNum2 = 100;
        let cStr2 = '300';
        console.log(cNum==cStr);
        console.log(cNum===cStr);
        console.log(cNum!=cStr);
        console.log(cNum!==cStr);
        console.log(cNum < cStr);
        console.log(cNum <= cStr);
        // 비교 연산자 여러개 연결
        // and 와 or
        // and(&&) : 둘 다 충족할 때 true
        // or(||) : 둘중에 하나만 충족해도 true
        console.log(cNum < 300 && cNum > 100);
        console.log(cNum < 300 || cNum > 400);
    </script>
   
    <script>
        console.log(null == undefined);  //true
        console.log(null === undefined); //false
        console.log(true == 1); //true
        console.log(true === 1); //false
        console.log(true == '1'); //true
        console.log(true === '1'); //false

        console.log(0 == -0); //true
        console.log(0 === -0); //true
        console.log(NaN == NaN); //false
        console.log(NaN === NaN); //false
    </script>

'JavaScript & JQuery' 카테고리의 다른 글

JavaScript(6)  (0) 2023.08.27
JavaScript(5)  (0) 2023.08.27
JavaScript(4)  (2) 2023.08.27
JavaScript(2)  (0) 2023.08.26
JavaScript(1)  (0) 2023.08.24