본문 바로가기
언어/JavaScript

연산자 주의사항 요약

by seacode 2025. 3. 19.

1. 이항 연산자 '+' 는 피연산자 중 하나만 문자열이어도, 결과가 문자열로 변환된다. (다른 산술연산은 오직 숫자형만 다루기에 자동으로 문자열도 숫자로 변환된다)

ex) alert(3 + '1') // "31"

ex) alert(1+1+"2") //< 연산 순서에 의해 1+1=2로 계산되고 2+"2" 가 되어 "22" 가 출력된다.

 

2. '+' 는 단항 연산자로 사용 가능하다.

- 피연산자가 숫자가 아닌 경우에 + 가 붙으면 숫자형으로 변환된다.

- 즉, Number(...) 와 동일한 역할을 한다.

// 숫자에는 아무런 영향을 미치지 않습니다.
let x = 1;
alert( +x ); // 1

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

// 숫자형이 아닌 피연산자는 숫자형으로 변화합니다.
alert( +true ); // 1
alert( +"" );   // 0

- 실제로, HTML form 에서 숫자겠거니 싶어서 가져온 값이 문자형일 경우 Number 로 변환시켜도 되지만 아래와 같이 단항 연산자로 형변환을 시켜줄 수 있다.

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

alert( apples + oranges ); // 23, 이항 덧셈 연산자는 문자열을 연결합니다.
// 이항 덧셈 연산자가 적용되기 전에, 두 피연산자는 숫자형으로 변화합니다.
// "연산자 우선순위"에 따라 덧셈되기 전 숫자형으로 먼저 변화한다. 
alert( +apples + +oranges ); // 5

// `Number(...)`를 사용해서 같은 동작을 하는 코드를 작성할 수 있지만, 더 기네요.
// alert( Number(apples) + Number(oranges) ); // 5

 

3. 연산자 우선순위

- 동일한 기호인 경우, 단항 연산자가 이항 연산자보다 우선되는 것만 JS 에서 명심하면 된다.

 

4. Chaining

- let a, b, c; a=b=c=2; 이런 식의 한 줄 초기화가 가능하다.

 

5. 증가/감소 전위/후위 연산자

- ++, -- 연산자.

- 반환 값에 해당 연산자를 사용하는 경우   

  • 전위형) 증가, 감소 "후" 새로운 값을 반환
  • 후위형) 증가, 감소 "전" 기존 값을 반환

6. 쉼표 연산자

- 여러 표현식을 한 줄에서 평가하기 위함.

- 마지막 표현식의 평가 결과만 반환되는 연산.

- 우선순위가 매우 낮다. (a = 1+2,3+4; // a = 3,7 -> a=3 (대입 연산자가 더 높음))

- 여러 동작을 한 줄에서 처리하려는 구조에서 사용되는 연산자.

let a = (1 + 2, 3 + 4);

alert( a ); // 7 (3 + 4의 결과)
// 한 줄에서 세 개의 연산이 수행됨
for (a = 1, b = 3, c = a * b; a < 10; a++) {
 ...
}

'언어 > JavaScript' 카테고리의 다른 글

조건문  (0) 2025.03.21
비교 연산자  (0) 2025.03.21
형 변환  (0) 2025.03.19
alert, prompt, confirm  (0) 2025.03.18
8가지 자료형 정리  (0) 2025.03.18