이 주제에 대해 생각하게 된 이유:
자바스크립트 연산자를 공부하면서 덧셈 연산자에서 피연산자 두개가 있을때 한개의 피연산자가 문자열이라면 다른 한개의 피연산자는 무조건 문자열로 반환된다는 것에 대해 특이하다고 생각했다. 그래서 다른 연산자들도 알아보기로 했다.
alert('1' + 9); // "19"
alert(1 + 3 + '2'); // "42"
1. 덧셈
- 하나라도 문자열이면 문자열 결합이 된다.
alert(2 + '5'); // "25"
alert(3 + '4'); // "34"
2. 뺄셈 / 나눗셈
- 하나라도 문자열이면 숫자로 변환 후 계산된다.
alert('3' - 1); // 2 ('3' 이 자동으로 숫자 3으로 변환되어 연산)
alert('8'-'2'); // 6 ('8' 과 '2'는 자동으로 숫자 6과 2 로 변환되어 연산)
3. 곱셈
- 문자열을 숫자형로 변환 후 계산된다.
alert('3' * '2'); // 6 ('3'과 '2'가 숫자 3과 2로 변환되어 곱셈)
alert(2 * '5'); // 10 ('5'가 숫자 5로 변환되어 곱셈)
4. 나머지 연산자
- 문자열을 숫자로 변환 후 계산된다.
alert('7' % '3'); // 1 ('7'과 '3'이 숫자로 변환되어 나머지 연산)
alert(10 % '4'); // 2 ('4'가 숫자 4로 변환되어 나머지 연산)
5. 지수연산자
- 문자열을 숫자로 변환 후 계산된다.
alert('2' ** '3'); // 8 ('2'와 '3'이 숫자 2와 3으로 변환되어 지수 연산)
alert(3 ** '2'); // 9 ('2'가 숫자 2로 변환되어 지수 연산)
결론 :
자바스크립트에서 덧셈(+)은 문자열 결합을 하고, 그 외 연산자는 숫자로 변환 후 계산한다.
'개발 개념 정리 > javaScript' 카테고리의 다른 글
[Js] 조건부연산자 와 if-else문 (0) | 2025.03.27 |
---|