[JavaScript] 연산자

Jin·2021년 10월 12일
0

JavaScript

목록 보기
2/12
post-thumbnail

연산자

1. 연산자 '+'

  • 이항 연산자 +를 사용할 때 피연산자 중 하나가 문자열이면 다른 하나도 문자열로 변환한다.
alert('1'+2); // "12"
alert(2+'1'); // "21"
  • -, / 연산자는 어떠할까?
alert(6-'2'); // 4, '2'를 숫자로 바꾼 후 연산 진행
alert('6'/'2'); // 3, 두 피연산자가 숫자로 바뀐 후 연산 진행
  • 덧셈 연산자는 이항 연산자뿐 아니라 단항 연산자로도 사용 한다.
    숫자에 단항 덧셈 연산자를 붙이면 아무런 동작도 하지 않는다. 하지만 피연산자가 숫자가 아닌 경우에 숫자형으로 변환이 일어난다. 짧은 문법의 Number()
alert( +true); //1
alert(+""); //0

let apples = "2";
let oranges = "3";

// 이항 덧셈 연산자가 적용되기 전에, 두 피연산자는 숫자형으로 변화.
alert( +apples + +oranges ); // 5

연산자 우선순위

하나의 표현식에 둘 이상의 연산자가 있는경우, 실행 순서는 연산자의 우선순위에 따라 결정이 된다.

참고 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

2. 증가, 감소 연산자

증가 연산자

++는 변수를 1 증가 시킨다

let counter = 2;
counter ++;
alert(counter); //3

감소 연산자

--는 변수를 1 감소시킨다

let counter = 2;
counter --;
alert(counter); //1

++-- 연산자는 변수 앞이나 뒤에 올 수 있다.

  • counter++와 같이 피연산자 뒤에 올 때는, 후위형.
  • ++counter와 같이 피연산자 앞에 올 때는, 전위형 이라고 부른다.

후위형과 전위형은 피연산자인 counter를 1만큼 증가 시켜준다는 점에서 동일하다.
하지만 두 형의 차이는 ++/-- 의 반환 값을 사용할 때 드러난다.

  • 전위형은 증가 /감소 후의 새로운 값을 반환
  • 후위형은 증가/감소 전의 기존값을 반환
let counter = 1;
alert( 2 * ++counter ); // 4

let counter = 1;
alert( 2 * counter++ ); // 2

3. 쉼표 연산자

쉼표 연산자 ,는 여러 표현식을 코드 한 줄에서 평가할 수 있게 해준다. 이때 표현식 각각이 모두 평가되지만, 마지막 표현식의 평가 결과만 반환된다.

let a = (1 + 2, 3 + 4);
alert( a ); // 7 (3 + 4의 결과)

4. 비교 연산자

다른 형을 가진 값 간의 비교

비교하려는 값의 자료형이 다르면 자바스크립트는 이 값들을 숫자형으로 바꾼다.

alert('2'>1); // true
alert('01'==1) // true
alert(false==0) // true

일치 연산자

===를 사용하며 자료형의 동등 여부까지 검사하기 때문에 피연산자들의 형이 다를경우 즉시 false를 반환한다. 불일치 연산자는 !== 사용

alert(0===false); // false

null과 undefined 비교

두 값의 자료형이 다르기 때문에 === 사용시 거짓이 반환. 하지만 ==를 사용하여 비교시에는 true과 반환된다.

null vs 0

alert( null > 0 );  // (1) false
alert( null == 0 ); // (2) false
alert( null >= 0 ); // (3) true

== 동등 연산자는 기타 비교 연산자들과 동작 방식이 다르다. 기타 비교 연산자들은 null을 0으로 변환하여 비교를 하지만 동등연산자 ==는 피연산자가 undefinednull일때 형 변환을 하지 않는다.

null >= 0이 참을 반환하는 이유는 (기타 비교 연산자의 동작 원리에 따라) null이 숫자형으로 변환돼 0이 되기 때문.

동등연산자는 undefinednull을 비교하는 경우에만 true를 반환하고 그 이외의 경우에는 무조건 false를 반환한다. undefinednull 값 이외의 다른값들과는 비교가 불가능.

출처 : https://ko.javascript.info

profile
내가 다시 볼려고 작성하는 블로그. 아직 열심히 공부중입니다 잘못된 내용이 있으면 댓글로 지적 부탁드립니다.

0개의 댓글