🎨 Programming/JavaScript

[JavaScript] 4. 연산자(Operator)

ryang x2 2020. 9. 7. 21:51
728x90
반응형

1. 산술 연산자 

산술 연산자는 사칙연산을 다루는 가장 기본적인 연산자입니다. 

+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
% 나눈 나머지 값 (예 : 10 % 3 = 1)
** 거듭제곱

 

예시)

<script>
        "use strict"
        const num1 = Number(prompt('첫번째 숫자를 입력하세요.'));
        const num2 = Number(prompt('두번째 숫자를 입력하세요.'));
        let result = num1 + num2;
        console.log(`num1 + num2 = ${result}`);
        result = num1 - num2;
        console.log(`num1 - num2 = ${result}`);
        result = num1 * num2;
        console.log(`num1 * num2 = ${result}`);
        result = num1 / num2;
        console.log(`num1 / num2 = ${result}`);
        result = num1 % num2;
        console.log(`num1 % num2 = ${result}`);
        result = num1 ** num2;
        console.log(`num1 ** num2 = ${result}`);
</script>

 

 

2. 비교 연산자 

비교 연산자는 피 연산자 사이의 상대적인 크기를 판단하여 참 또는 거짓을 반환합니다.

> 왼쪽의 값이 오른쪽의 값보다 크면 참을 반환합니다.
< 오른쪽의 값이 왼쪽의 값보다 크면 참을 반환합니다.
>= 왼쪽의 값이 오른쪽의 값보다 크거나 같으면 참을 반환합니다.
<= 오른쪽의 값이 왼쪽의 값보다 크거나 같으면 참을 반환합니다.
== 두 식의 값이 같으면 참을 반환합니다. (타입의 관계가 없음)
ex) "10" == 10 ->  true
=== 두 식의 값이 같고, 타입까지 같으면 참을 반환합니다.
ex ) "10" == 10 ->  false
!= 두 식의 값이 다르면 참을 반환합니다. (타입의 관계가 없음)
ex ) 10 != "5" ->  true // 10 != 5 ->  true
!== 두 식의 값이 같지 않고, 타입까지 같지 않으면 참을 반환합니다.
ex) 10 !== "1" ->  true

 

예시 ) 

<script>
        "use strict"
        let num1 = 3, num2 = 5;
        let str1 = "3", str2 ="abcde", str3="bcd";
        let result = (num1 > num2);
        console.log(`num1 > num2 : ${result}`);
        result = (str2 <= str3);
        console.log(`str2 <= str3 : ${result}`);
        // 아스키 코드 값 비교이며 첫글자 부터 한글자씩 비교를 하게된다. 길이하고는 상관없다.
        result = (num1 == str1);
        console.log(`num1 == str1 : ${result}`);
        result = (num1 === str1);
        console.log(`num1 === str1 : ${result}`);
</script>

 

 

3. 대입 연산자  

대입 연산자는 변수에 값을 대입할 때 사용하는 연산자입니다.

= 왼쪽 변수에 오른쪽 값을 대입합니다.
+= 왼쪽 변수에 오른쪽 값을 더한 후, 그 결과를 다시 왼쪽 변수에 대입합니다.
ex )  
let a = 10; 
a += 1;  //  a = a + 1; 같은 의미
-= 왼쪽 변수에 오른쪽 값을 뺀 후, 그 결과를 다시 왼쪽 변수에 대입합니다.
*= 왼쪽 변수에 오른쪽 값을 곱한 후, 그 결과를 다시 왼쪽 변수에 대입합니다. 
/= 왼쪽 변수에 오른쪽 값을 나눈 후, 그 결과를 다시 왼쪽 변수에 대입합니다.
%= 왼쪽 변수에 오른쪽 값을 나눈 나머지 값을 구한 후, 그 결과를 다시 왼쪽 변수에 대입합니다.
**= 왼쪽 변수에 오른쪽 값을 거듭제곱 후, 그 결과를 다시 왼쪽 변수에 대입합니다.

 

예시)

<script>
        "use strict"
        let num1=10, num2=10, num3=10;
        num1 += 5;
        console.log(`num1 += 5 : ${num1}`);
        num2 -= 5;
        console.log(`num2 -= 5 : ${num2}`);
        num3 =- 5;
        console.log(`num1 =- 5 : ${num3}`);
</script>

 

 

4. 증감 연산자 

증감 연산자는 값을 1씩 증가하거나 혹은 감소시킬 때 사용하는 연산자입니다. 연산자가 어느 쪽에 위치하는가에 따라 연산자의 순서 및 결과가 달라집니다.

++변수 변수의 값을 1증가시킨 후, 다음 연산을 진행합니다.
변수++ 먼저 다른 연산을 수행한 후, 변수의 값을 1증가시킵니다.
--변수 변수의 값을 1감소시킨 후, 다음 연산을 진행합니다.
변수-- 먼저 다른 연산을 수행한 후, 변수의 값을 1감소시킵니다.

ex)
let a = 5;
++a;  //  a = a + 1;

let a = 5;
let b = ++a;
console.log(b);  // 6

let a = 5;
let b = a++;
console.log(a);  // 6
console.log(b);  // 5

 

예시)

<script>
        "use strict"
        let num1 = 10;
        console.log(`num1의 값 : ${num1}`);
        console.log(`++num1의 값 : ${++num1}`);
        console.log(`num1의 값 : ${num1}`);
        console.log(`num1++의 값 : ${num1++}`);
        console.log(`num1의 값 : ${num1}`);
</script>

 

 

5. 논리 연산자 

논리 연산자는 주어진 논리식을 판단하여 참과 거짓을 반환합니다.

 

● AND 연산( && ) : 두 논리식이 모두 참이면 반환하는 연산자입니다. 
A       &&       B            결과
true             true         true
true             false        false
false            true         false
false            false        false

● OR 연산( || ) : 두 논리식 중 하나라도 참이면 참을 반환하는 연산자입니다. 
A       ||       B            결과
true             true         true
true             false        true
false            true         true
false            false        false

● NOT 연산( ! ) : 논리식의 결과가 참이면 거짓으로, 거짓이면 참으로 반환하는 연산자입니다. 
A                !결과
true             false         
false            true   

 

예시)

<script>
        "use strict"
        let num1 = 10, num2 = 5;
        let result1 = (num1 == num2);   // false 
        let result2 = (num1 >= num2);   // true
        console.log(`result1 && result2 : ${result1 && result2}`);
        console.log(`result1 || result2 : ${result1 || result2}`);
        console.log(`!result1 : ${!result1}`);
</script>

 

 

6. 비트 연산자 

비트 연산자는 논리 연산자와 비슷하지만 비트 단위로 논리 연산을 수행합니다. 

& 대응되는 비트가 모두 참이면 참을 반환하는 연산자입니다.
| 대응되는 비트 중에서 하나라도 참이면 참을 반환하는 연산자입니다.
^ 대응되는 비트가 서로 다르면 참을 반환하는 연산자입니다.
<< 지정한 수만큼 비트를 왼쪽으로 이동시킵니다.
>> 지정한 수만큼 비트를 오른쪽으로 이동시킵니다.

 

예시 )

<script>
        "use strict"
        let num1 = 25, num2 = 18;
        console.log(`num1 & num2 : ${num1 & num2}`);
        /*
            32      16      8       4       2       1
                    1       1       0       0       1 (25)
        &           1       0       0       1       0 (18)
        --------------------------------------------------
                    1       0       0       0       0 (16)
        */

        console.log(`num1 | num2 : ${num1 | num2}`);
        /*
            32      16      8       4       2       1
                    1       1       0       0       1 (25)
        |           1       0       0       1       0 (18)
        --------------------------------------------------
                    1       1       0       1       1 (27)
        */

        console.log(`num1 ^ num2 : ${num1 ^ num2}`);
        /*
            32      16      8       4       2       1
                    1       1       0       0       1 (25)
        ^           1       0       0       1       0 (18)
        --------------------------------------------------
                    0       1       0       1       1 (11)
        */

        console.log(`num1 << num2 : ${num1 << 2}`);
        /*
            64      32      16      8       4       2       1
            --------------------------------------------------
            1       1       0       0       1       0       0 (100)
        */

        console.log(`num1 >> num2 : ${num1 >> 2}`);
        /*
                32      16      8       4       2       1
            ------------------------------------------------
                0       0       0       1       1       0 (6)
        */
</script>

 

 

7. 삼항 연산자 

조건식에 따른 참, 거짓에 따라 반환 값이 달라지는 연산자입니다.

 

● 변수 = 조건식 ? 반환값1(조건식이 참) : 반환값2(조건식이 거짓);

 

예시)

<script>
        "use strict"
        let num1 = Number(prompt("첫번째 숫자를 입력하세요."))
        let num2 = Number(prompt("두번째 숫자를 입력하세요."))
        let result = (num1 > num2) ? num1 : num2;
        console.log(`두 수중 큰 수는 : ${result}`);
</script>

 

 

 

 

728x90
반응형