본문 바로가기
Frontend/JavaScript

02. JavaScript 연산자 (operator)

by 개발개발빈이 2022. 4. 25.

○ 연산자 Operator

    - 이식성이 풍부하다
    - 대입, 산술, 비교, 논리, 결합, 증감 연산자 등

    - 연산자는 JavaScript 외의 언어(JAVA, PYTHON, DB 등)에서도 거의 비슷하게 사용

    - 연산 우선 순위 : ( ) → 증감 → 산술 → 비교 → 논리 → 대입

 

산술 연산자 

    - +(더하기), -(빼기), *(곱하기), /(나누기), %(나머지) 

document.write(6+3);	//9  더하기
document.write(6-3);	//3  빼기
document.write(6*3);	//18 곱하기
document.write(6/3);	//2  나누기(몫)   
document.write(6%3);    //0  나머지(6을 3으로 나누었을 때 나머지)

document.write(3/5);     //0.6
document.write(3%5);     //3 (나누는 수가 나뉘는 수보다 클때는 그냥 나뉘는 수가 출력)

 

 

결합 연산자 (문자결합 연산자)

    - 결합 연산자 + 

    - 문자형과 문자형을 연결함

    - +는 숫자형 사이에선 산술 연산자, 문자형 사이에선 문자결합 연산자로 쓰임

document.write("세종"+"대왕");	//"세종대왕"

document.write("1"+"2");	//"12" (문자결합)
document.write(1+2);		//3    (산술)

 

 

 비교 연산자 (관계 연산자)

    - >(큼), <(작음), >=(크거나 같음), <=(작거나 같음), ==(같음), !=(같지 않음)

    - 논리형(boolean)으로 반환

document.write(5>3);      // ture  5는 3보다 크다
document.write(5<3);      // false 5는 3보다 작다

document.write(5>=3);     // true  5는 3보다 크거나 같다
document.write(5<=3);     // false 5는 3보다 작거나 같다

document.write(5==3);     // false 5와 3은 같다
document.write(5!=3);     // true  5와 3은 같지 않다

 

 대입 연산자

    ① 대입 연산자 =

        - 변수에 값을 대입(저장)

        - 일반적으로 쓰이는 같다는 의미가 아님 ( = : 대입 연산자 / == : 같음을 나타내는 비교 연산자)

    ② 복합 대입 연산자 (연산자 압축)

        - +=, -=, *=, /=, %=

a=1; 	//a라는 변수에 1을 대입
b=2; 	//b라는 변수에 2을 대입
c=3;	//c라는 변수에 3을 대입
d=a+3;	//d라는 변수에 a+3(4)을 대입
e=c+2;	//e라는 변수에 c+2(5)을 대입

str="정조";	//str이라는 변수에 문자열 "정조"를 대입

document.write(a+b+c+d+e);	//15
document.write(str);		//"정조"

a+=1;			//a=a+1과 같은 뜻
document.write(a);	//2

b-=1;			//b=b-1과 같은 뜻
document.write(b);	//1

c*=3;			//c=c*3과 같은 뜻
document.write(a);	//9

d/=2;			//d=d/2과 같은 뜻
document.write(a);	//2

e%=3;			//e=e%3과 같은 뜻
document.write(a);	//2

 

 논리 연산자 

    - 조건이 2개 이상일 경우 전체적으로 판단
    - boolean값으로 반환

    - 그리고(and 연산자), 또는(or 연산자), 부정(not 연산자)

 

        ① and 연산자 (&&) : 모든 조건이 true일 때만 true, ~이면서

document.write(5>3 && 2<4);          //true  (T && T)
document.write(5<3 && 2<4);          //false (F && T)
document.write(5>3 && 2>4);          //false (T && F)
document.write(5<3 && 2>4);          //false (F && F)

        ② or 연산자 (||) : 조건들 중에서 하나라도 true이면 true, ~이거나

document.write(5>3 || 2<4);          //true  (T || T)
document.write(5<3 || 2<4);          //true  (F || T)
document.write(5>3 || 2>4);          //true  (T || F)
document.write(5<3 || 2>4);          //false (F || F)

        ③ not 연산자 (!) : 논리 부정 연산자, ~가 아니라면

var flag = true;
document.write(!flag);			//false (!T)

 

1증감 연산자 

    ① 1증가 연산자 : ++

var a=3;
a++;			//a=a+1과 같은 뜻
document.write(a);	//4

var b=2;
++b;			//b=b+1과 같은 뜻
document.write(b);	//3

c=c+1;
c+=1;
c++;
++c;			//이 4가지는 모두 같은 뜻

    ② 1감소 연산자 : --

var a=3;
a--;			//a=a-1과 같은 뜻
document.write(a);	//2

var b=2;
--b;			//b=b-1과 같은 뜻
document.write(b);	//1

c=c-1;
c-=1;
c--;
--c;			//이 4가지는 모두 같은 뜻

 

삼항 연산자 

    - 형식) 조건 ? 참이면 실행할 코드 : 거짓이면 실행할 코드

var a=-3;

document.write(-a)     //단항연산자
document.write(a*2);   //이항연산자

(a>=0) ? document.write(-a) : document.write(a*2);	//삼항연산자

댓글