연산자(수학,비교,논리 연산자)

Jihyun-Jeon·2022년 5월 25일
0

Javascript - Deep Dive

목록 보기
21/26

🔶 산술 연산자

1. 원칙

: 대부분의 산술 연산자는 오직 숫자형의 피연산자만 다루고,
피연산자가 숫자형이 아닌 경우에 그 형을 숫자형으로 바꿈.

// 예제1
alert( 6 - '2' ); // 4, '2'를 숫자로 바꾼 후 연산이 진행됩니다.
console.log(typeof (6 - '2')); //  number

// 예제2
alert( '6' / '2' ); // 3, 두 피연산자가 숫자로 바뀐 후 연산이 진행됩니다.
console.log(typeof ('6' / '2')); // number

2.예외

: 그러나 덧셈 연산자(+)는 좀 특이함.

🔆 특이1

  • 덧셈 연산자(+)는 문자열 연결과 변환이라는 특별한 기능을 제공함.
  • 쉽게말해, String과 Number형을 더하면 항상 String 형으로 변환됨.
alert(2 + 2 + '1' ); // '221'이 아니라 '41'이 출력됩니다.("1"를 그대로 문자로 읽음)
console.log(typeof (2 + 2 + '1' )); // string

🔆 특이2
: 그치만 숫자 타입이 아닌 피연산자에 덧셈 연산자(+)를 하나만 단항으로 쓰면 Number타입으로 바뀜.
(The unary + operator converts its operand to Number type.)

function solution(idx) {
      return +idx;
  }
        
// <실행코드>
console.log(solution('1234'));
// 1234 (문자 "1234"를 10진법으로 읽어서, 10진법인 정수로 바꿈)
console.log(solution('-1234'));
// -1234 // 1234 (문자 "-1234"를 10진법으로 읽어서, 10진법인 정수로 바꿈)

🔶 할당 연산자 체이닝

: 이렇게 할당 연산자를 여러 개 연결한 경우, 평가는 “우측”부터 진행됨.

let a, b, c;

a = b = c = 2 + 2;

alert( a ); // 4
alert( b ); // 4
alert( c ); // 4

🔶 증감 연산자

: 증가/감소 연산자는 "변수에만" 쓸 수 있음. 5++와 같이 값에 사용하려고 하면 에러가 발생.

0개의 댓글