티스토리 뷰

Javascript

연산자

근혁 2022. 2. 7. 18:23

 

연산자

연산자란 수학 시간에 연산을 할 때도 마찬가지였지만, 컴퓨터를 이용해서 코드를 통해 연산을 할 때도 연산의 방식을 결정하는 기호를 '연산자'라고 부르고 연산되는 대상을 '피연산자'라고 한다. 우리에게 가장 익숙한 +,-,*,/이 가장 대표적인 예이다.

산술 연산자

산술연산자는 산수 시간에 배운 더하기(+), 빼기(-), 나누기(/), 나머지(%)가 있다. 산술 연산자로 연산을 하기 위해서는 연산 대상 데이터가 반드시 2개 있어야 한다. 다음은 산술 연산자의 종류와 기본형을 정리한 표이다.

종류 기본형 설명
+ A + B 더하기
- A - B 빼기
* A * B 곱하기
/ A / B 나누기
% A % B 나머지

다음 예제를 통해 더하기,빼기,곱하기,나누기,나머지 연산자를 어떻게 사용하는지 확인하자.

{
6.   <script>
7:      var num 1 = 15;
8:      bar num 2 = 2;
9:      var result;
10:     result = num1 + num2;
11:     document.write(result,"<br>"); //17
12:     reesult = num1 - num2;
13:     document.write(result,"<br>"); //13
14:     result = num1 * num2;
15:     document.write(result,"<br>") //30
16:     result = num1 / num2;
17:     document.write(result,"<br>") //7.5
18:     result = num1 % num;
19:     document.write(result,"<br>") //1
20: </script>
}

문자 결합 연산자

문자 결합 연산자는 피연산자(연산 대상 데이터)가 문자형 데이터이다. 여러 개의 문자를 하나의 문자형 데이터로 결합할 때 사용한다. 다음과 같이 더하기에 피연산자로 문자형 데이터가 한 개라도 포함되어 있으면 다른 피연산자의 데이터는 자동으로 문자형 데이터로 형 변환되고 문자 결합이 이루어져 하나의 문자형 데이터를 반환한다.

기본형
{
    문자형 데이터 + 문자형 데이터 = 하나의 문자형 데이터
    ex)"do it" + "javascript" = "do it javascript"

    문자형 데이터 + 숫자형 데이터 = 하나의 문자형 데이터
    ex)"100" + 200 = "100200";
}

다음은 t1, t2, t3, t4라는 변수에 문자와 숫자 데이터를 각각 넣고 하나의 문자 데이터로 결합하는 예제이다.

{
06:  <script>
07:     var t1 = "학교종이";
08:     var t2 = "땡땡땡";
09:     var t3 = 8282;
10:     var t4 = "어서 모이자";
11:     var result;
12:
13:     result = t1 + t2 + t3 + t4;
14:     document.write(result); //"학교종이 땡땡땡 8282 어서 모이자"
15:  </script>
}

대입 연산자

대입 연산자(=)는 연산된 데이터를 변수에 저장할 때 사용한다. 복합 대입 연산자(+=, *=, /=, %=)는 산술 연산자와 대입 연산자가 복합적으로 적용된 것을 말한다. 대입 연산자의 종류는 다음과 같다.

대입 연산자의 종류

종류 풀이
A = B A = B
A += B A = A+B
A *= B A = A*B
A /= B A = A/B
A %= B A = A%B

다음 예제를 통해 대입 연산자에 대해 알아보자.

{
06: <script>
07:     var num1 = 10;
08:     var num2 = 3;
09:
10:     num1 += num2;       //num1 = num1(10) + num2(3);
11:     document.write(num, "<br>");      //13
12:
13:     num1 -= num2;       //num1 = num1(13) - num2(3);
14:     document.write(num1,"<br>")       //10
15:
16:     num1 *= num2;       //num1 = num1(10) * num2(3);
17:     document.write(num1, "<br;>")     //30
18:
19:     num1 %= num2;       //num1 = num1(30) % num2(3);
20:     document.write(num1,"<br>")       //0
21:</script>
}

다음은 여러 개의 문자형 데이터로 저장된 HTML 태그를 복합 대입 연산자를 이용하여 하나의 문자로 결합한 다음 document.write(str;)을 이용하여 화면에 출력하는 예제이다.

{
06:  <script>
07:       var str = "<bable border='1'>";
08:       str += "<tr>";
09:       str +=  "<th>1</th><th>2</th><th>3</th>";
10:       str += "</tr>";
11:       str += "</table>";
12:     document.write(str);
13:   </script>
}

08~11번 여러 개의 문자형 데이터가 하나의 문자로 결합되어 변수 str에 저장된다. 즉, 한 개의 문자형 데이터로 결합된다. 12번 str을 출력하면 문자가 아닌 태그로 인식되어 표가 출력된다.

{
    var str = "문자1";
    str += "문자2";
    str += "문자3";
    //"문자1문자2문자3";
}

증감 연산자

증감 연산자에는 숫자형 데이터를 1씩 증가시키는 증가 연산자(++)와 반대로 1씩 감소시키는 감소연산자(--)가 있다. 증감 연산자는 앞에서 배운 연산자와는 달리 피연산자가 한 개만 필요한 단항 연산자입니다. 증감 연산자는 변수의 어느 위치에 오는가에 따라 결괏값이 달라진다.

기본형
{
(1)변수의 값을 1만큼 감소시킵니다.
    변수--; 또는 --변수;

(2)변수의 값을 1만큼 증가시킵니다.
    변수++; 또는 ++변수;
}

다음은 증감 연산자를 사용해 변수에 저장된 숫자를 증가하거나 감소하여 문서에 출력하는 예제이다.

{
06:  <script>
07:     var num1 = 10;
08:     var num2 = 20;
09:     var result;
10:
11:     num 1--;        //9
12:     document.write(num1, "<br>");
13:
14:     num 1++;        //10
15:     document.write(num1, "<br>");
16:
17:     result = num2++;        //result;20, num2:21
18:     document.write(result,"<br>");
19:
20:     result = ++ num2;       //result:22, num2:22
21      document.write(result,"<br>")
22:  <script>
}

11번 변수 num1(10)의 값이 1만큼 감소되어 num1에 9가 저장됨. 17번 먼저 변수 num2(20)의 값이 변수 result에 저장되고, num2의 값이 1만큼 증가되어 num2에 21이 저장됨. 20번 먼저 변수 num2(21)의 값이 1만큼 증가되어 num2에 22가 저장되고, num2의 값이 변수 result에 저장된다.

비교 연산자

두 데이터를 '크다,작다,같다'와 같이 비교할 때 사용하는 연산자이다. 연산된 결괏값은 true(참) 또는 false(거짓)로 논리형 데이터를 반환한다. 다음은 비교 연산자의 종류이다.

종류 설명 비고
A > B A가 B보다 작다  
A < B A가 B보다 작다  
A >= B A가 B보다 크거나 작다  
A <= B A가 B보다 작거나 같다  
A == B A와 B는 같다 숫자를 비교할 경우 자료형(type)은 숫자형이든 문자형이든 상관하지 않고 표기된 숫자만 일치하면 true를 반환합니다. 가령 숫자형 10과 문자형 "10"은 같은 것으로 인식되어 true를 반환
A != B A와 B는 다르다 숫자를 비교할 경우 자료형은 숫자형이든 문자형이든 상관하지 않고 표기된 숫자만 다르며 true를 반환합니다. 가령, 숫자형 10과 문자형"10"은 같은 것으로 인식되어 A!=B에 대해 false를 반환
A === B A와 B는 같다 숫자를 비교할 경우 반드시 표기된 숫자와 자료형도 일치해야만 true를 반환합니다. 10과 "10"을 비교했을 경우 표기된 숫자는 길지만 하나는 숫자형 10이고 하나는 문자형 "10"이므로 false를 반환
A !== B A와 B는 다르다 숫자를 비교할 경우 반드시 표기된 숫자 또는 자료형이 일치하지 않을 때 true를 반환한다 가령, 10과 "10"을 비교했을 경우 표기된 숫자는 같지만 하나는 숫자형 10이고 하나는 문자형 "10"이므로 이때는 true를 반환

비교 연산자 ==와 !=는 피연산자의 자료형(type)이 비교 연산자의 실행 결과에 영향을 미치지 않는다. 다음 예제의 경우 변수 k에는 숫자형 데이터 10이 저장되었고, 변수 m에는 문자형 데이터 "10"이 저장되었다. 그리고 두 변수 모두 숫자형 데이터 10과 같은지 비교하였고 결과는 둘 다 true를 반환한다.

{
    var k = 10, m = "10";
    k == 10 //true
    m == 10 //true
}

하지만 비교 연산자 중 ===과 !==는 피연산자 자료형에 따라 결괏값이 달라진다. 다음 예제의 경우 변수 k에는 숫자형 데이터 10이 저장되었고, k===10은 숫자형 데이터로 둘 다 일치하기 때문에 true를 반환. 하지만 m에는 문자형 데이터 "10"이 저장되었다. 문자형 데이터 "10"과 숫자형 데이터 10은 자료형이 다르므로 m===10은 false를 반환한다.

{
    var k = 10, m = "10";
    k === 10 //true
    m === 10  //false
}

다음 예제로 비교 연산자에 대해 더 살표보자 a,b,c,d라는 변수에 값을 각각 지정하고 위에서 배운 비교 연산자를 이용해 결괏값을 반환한다.

{
06:  <script>
07:     var a = 10;
08:     var b = 20;
09:     var c = 10;
10:     var f = "20";
11:     var result;
12:
13:     result = a > b;     //false
14:     document.write(result,"<br>");
15:     result = a < b;      //true
16:     document.write(result,"<br>");
17:     result = a <= b;     //true
18:     document.write(result,"<br>");
19:     result = b == f;        //true
20:     document.write(result,"<br>");
21:     result = a != b;        //true
22:     document.write(result,"<br>");
23:     result = b == f;        //false
24:     document.write(result,"<br>");
25:  <script>
}

13번 a(10) > b(20)은 false가 반환 19번 b(20) == f("20")은 자료형과 상관없이 숫자만 비교하여 true가 반환 20번 a(20) != b(20)은 데이터가 다르므로 true가 반환 23번 b(20) == f("20")은 숫자는 같지만 자료형이 다르므로 false가 반환

논리 연산자

논리 연산자에는 ||(or), &&(and), !(not)이 있다. 논리 연산자는 피연산자가 논리형 데이터인 true 또는 false로 결괏값을 반환한다. ||(or) 연산자는 피연산자 중 하나만 true이면 true라는 결괏값을 반환 하지만 &&(end) 연산자는 피연산자 중 하나만 false이면 fasle라는 결괏값을 반환 !(not)은 논리 부정 연산자로, 피연산자가 true이면 false라는 반대의 결괏값을 반환

논리 연산자의 종류

종류 설명
|| or 연산자라 부르며, 피연산자 중 값이 하나라도 true가 존재하면 true로 결괏값을 반환
&& and 연산자라 부르며,피연산자 중 값이 하나라도 false가 존재하며 false로 결괏값을 반환
! not 연산자라 부르며 단항 연산자이다. 피연산자의 값이 true면 반대로 false로 결괏값을 반환

'Javascript' 카테고리의 다른 글

리턴값 함수, 익명함수  (0) 2022.02.14
선언적 함수, 매개변수 함수  (0) 2022.02.14
break문, continue문  (0) 2022.02.04
else문, if else문  (0) 2022.01.28
if문 ,중첩if문  (0) 2022.01.27
댓글
© 2018 webstoryboy