본문 바로가기
프로그래밍/JavaScript

[JavaScript] 연산자

by 소꿍 2020. 9. 13.

산술연산자

 

4칙 연산(+, -, *, /)과 나머지 값을 구하는 연산자(%)

※ 문자열과 다른 데이터 타입 간 + 연산을 하면 문자열로 연결된다.

var test = "ABC" + 123; // "ABC123"

대입연산자

 

특정한 상수나 변수, 또는 객체를 변수에 전달하여 저장할 때 사용한다.

연산자 의미
= 연산자의 오른쪽 변수값을 왼쪽의 변수에 대입한다.
+= 연산자의 오른쪽 변수값을 왼쪽 변수에 더하면서 대입한다.
-= 연산자의 오른쪽 변수값을 왼쪽 변수값에서 빼면서 대입한다.
*= 연산자의 오른쪽 변수값을 왼쪽 변수에 곱하면서 대입한다.
/= 연산자의 오른쪽 변수값을 왼쪽 변수에 나누면서 대입한다.
%= 연산자의 오른쪽 변수값으로 왼쪽 변수를 나눈 나머지값을 구하면서 대입한다.

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

 

변수나 상수의 값을 비교할 때 사용하는 연산자로, 결과는 Boolean type(true/false)이다.

연산자 의미
> 크다.
< 작다.
>= 크거나 같다.
<= 작거나 같다.
== 피연산자들의 값이 같다.
!= 피연산자들의 값이 같지 않다.

 

  • ==, !=
    equal 연산자로, 필요 시 자동 형 변환 후 비교한다.
var n1 = 10;
var n2 = "20";
console.log(n1 == n2); //n2를 숫자형으로 변환 후 비교하여 true 리턴

 

  • ===, !==
    identical 연산자로, 형 변환 없이 비교한다.
var n1 = 10;
var n2 = "10";
console.log(n1 === n2); //false

var x;
if(x === undefined){} //여기서는 === 연산자를 사용해야 함.
//x == undefined를 쓰면 null도 체크하는데, null과 undefined는 같지 않다.

논리연산자

 

논리 값(true/false)을 가지고 조건 연산을 하는 연산자이다.

연산자 의미
&& and(논리곱) - 주어진 조건들이 모두 true일 때만 true
|| or(논리합) - 주어진 조건 중 하나라도 true이면 true
! not(부정) - true는 false, false는 true로 나타냄

 

※ 주의할 점

자바스크립트에서는 다른 프로그래밍 언어와 달리 논리값(true/false) 외에 다른 데이터형도 논리 연산자를 사용할 수 있다.

이는 숫자, 문자열 등이 논리값으로 자동 형 변환되기 때문에 가능한 것이다.

또한 최종적으로 리턴되는 값은 true/false가 아닌 왼쪽 혹은 오른쪽 피연산자의 최종 평가값이 리턴된다.

 

  • 좌객체 || 우객체
    좌객체가 참이면 우객체를 평가하지 않고 좌객체 값을 리턴,
    좌객체가 거짓이면 우객체 값을 리턴한다.
console.log("12345" || 0); //"12345"

 

  • 좌객체 && 우객체
    좌객체가 참이면 우객체 값을 리턴,
    좌객체가 거짓이면 좌객체 값을 리턴한다.
console.log("12345" && 0); // 0

 

  • 활용 가능한 예시
    1) 어떤 함수가 반드시 배열인 파라미터를 받기로 가정한 경우
function x(a){
	var arr = a || [];
    ...
}
x();
x([1, 2]);

       2) 이벤트 처리 시 IE와 다른 브라우저 간 처리 방법이 다른 경우

function eventHandle(e) {
	var e = e || window.event;
    ..
}
eventHandle(event); //비IE 브라우저
eventHandle(); //IE

증감연산자

 

1씩 증가/감소시키는 연산자이다.

연산자 의미
++ 1씩 증가시킨다.
-- 1씩 감소시킨다.

이때, 증감연산자의 위치(변수 앞/뒤)에 따라 결과값이 달라진다.

연산자가 변수 앞에 붙으면 참조 전에 값을 1 증가/감소시키고,

변수 뒤에 붙으면 참조 후에 증가/감소시킨다.


3항연산자

조건을 정의하여 조건 만족 시 참값, 만족하지 못할 경우 거짓값을 리턴한다.

연산자 의미
? : 조건식 ? 참값 : 거짓값

이외 연산자

연산자 의미
,(콤마) 좌우의 식을 계속해서 실행
delete 객체의 프로퍼티나 배열의 요소 삭제
instanceof 객체가 지정된 클래스의 인스턴스인지 판정
new 새로운 인스턴스 생성
typeof 피연산자(operand)의 데이터형을 확인

연산자의 우선 순위

 

우선순위 연산자
높다























낮다
배열([ ]), 괄호(( ))
증가 연산자(++), 감소 연산자(--), 단항 뺄셈(-), 반전(~), 부정(!)
곱셈(*), 나눗셈(/), 나머지(%)
더하기(+), 뺄셈(-), 문자열 결함(+)
쉬프트(<<, >>, <<<)
등가(==), 부등가(!=), 등치(===), 비등치(!==)
AND(&)
XOR(^)
OR(|)
논리AND(&&)
논리OR( || )
조건( ? : )
대입(=), 복합 대입(+=, -= 등)
콤마(,)

'프로그래밍 > JavaScript' 카테고리의 다른 글

[JavaScript] DOM 및 Form 객체  (0) 2020.09.13
[JavaScript] 함수  (0) 2020.09.13
[JavaScript] 문장(Statement)  (0) 2020.09.13
[JavaScript] 식별자와 데이터형  (0) 2020.09.08
[JavaScript] JavaScript 개요  (0) 2020.09.08

댓글