[TIL] 기본 연산자

이지예·2022년 5월 7일
0

JavaScript

목록 보기
8/24

이항연산자

이항 연산자 +를 사용할 때 피연산자 중 하나가 문자열이면 다른 하나도 문자열로 변환된다.

alert('1'+2); //'12'
alert(2+2+'1'); //'41'

+가 아닌 다른 산술 연산자는 오직 숫자형의 피연산자만 다루고, 피연산자가 숫자형이 아닌 경우에 그 형을 숫자형으로 바꾼다.

단항 연산자와 +

+는 이항 연산자 뿐만 아니라 단항 연산자로도 사용할 수 있다.
숫자에 단항 덧셈 연산자+를 붙이면 아무런 동작도 하지 않는다.

let x=-2;
alert(+x);//-2

그러나 피연산자가 숫자가 아닌 경우에는 숫자형으로의 변환이 일어난다.

alert(+true);//1
alert(+"");//0

이처럼 단항 덧셈 연산자는 Number함수와 동일한 일을 한다.

문자열을 숫자로 변환해야 하는 경우

let apples="2";
let oranges="3";
alert(apples+oranges);//23(이항 덧셈 연산자는 문자열을 연결)
alert( +apples + +oranges);//5(두 피연산자가 숫자형으로 변환된 뒤 덧셈 연산자가 적용된다.)

동일한 기호의 단항 연산자는 이항 연산자보다 우선순위가 더 높다.

할당 연산자

=는 우선순위가 낮아서 자바스크립트에서는 아래와 같이 할당 연산자를 사용하는 경우가 있기 때문에 동작 원리를 이해할 수 있어야 한다.

let a=1;
let b=2;
let c=3-(a=b+1);
alert(a);//3
alert(c);//0

0개의 댓글