자주 등장하는 용어
- 피연산자(operand): 연산자가 연산을 수행하는 대상. 인수(argument)'라고 불리기도 함.
- 단항(unary): 피연산자를 하나만 받는 연산자
- 이항(binary): 두 개의 피연산자를 받는 연산자
JS 수학 연산자
- 덧셈 연산자 +
- 뺄셈 연산자 -
- 곱셈 연산자 *
- 나눗셈 연산자 /
- 나머지 연산자 %
- 거듭제곱 연산자 **
나머지 연산자 %
나머지 연산자를 사용한 표현식 a % b는 a를 b로 나눈 후 그 나머지(remainder)를 정수로 반환해준다.
alert( 5 % 2 ); // 5를 2로 나눈 후의 나머지인 1을 출력
alert( 8 % 3 ); // 8을 3으로 나눈 후의 나머지인 2를 출력
거듭제곱 연산자 **
거듭제곱 연산자(exponentiation operator)를 사용한 a ** b를 평가하면 a를 b번 곱한 값이 반환된다.
alert( 2 ** 2 ); // 4 (2 * 2)
alert( 2 ** 3 ); // 8 (2 * 2 * 2)
alert( 2 ** 4 ); // 16 (2 * 2 * 2 * 2)
정수가 아닌 숫자에 대해서도 동작한다.
alert( 4 ** (1/2) ); // 2 (1/2 거듭제곱은 제곱근)
alert( 8 ** (1/3) ); // 2 (1/3 거듭제곱은 세제곱근)
이항 연산자 '+'와 문자열 연결
자바스크립트가 제공하는 특별한 연산자 기능에 대해 살펴보자.
덧셈 연산자 +는 대개 숫자를 더한 결과를 반환하지만, 이항 연산자 +의 피연산자로 문자열이 전달되면 덧셈 연산자는 덧셈이 아닌 문자열을 병합(연결)한다.
따라서 이항 연산자 +를 사용할 때는 피연산자 중 하나가 문자열이면 다른 하나도 문자열로 변환된다는 점 주의해야 한다.
let s = "my" + "string";
alert(s); // mystring
//예시1
alert( '1' + 2 ); // "12"
alert( 2 + '1' ); // "21"
//예시2
alert(2 + 2 + '1' ); // '221'이 아니라 '41'이 출력
단항 연산자 +와 숫자형으로의 변환
덧셈 연산자 +는 이항 연산자뿐만 아니라 단항 연산자로도 사용할 수 있다.
숫자에 단항 덧셈 연산자를 붙이면 이 연산자는 아무런 동작도 하지 않지만, 피연산자가 숫자가 아닌 경우엔 숫자형으로의 변환이 일어난다.
// 숫자에는 아무런 영향을 미치지 않는다.
let x = 1;
alert( +x ); // 1
let y = -2;
alert( +y ); // -2
// 숫자형이 아닌 피연산자는 숫자형으로 변화한다.
alert( +true ); // 1
alert( +"" ); // 0
'Web > JavaScript' 카테고리의 다른 글
[JS] 브러쉬 생성, 배경 칠하기, 지우개 구현 (0) | 2022.08.06 |
---|---|
[JS] 이번엔 그림앱이다! Canvas (0) | 2022.08.01 |
[JS/이론 정리] script 태그 ~ 형 변환 (0) | 2022.07.30 |
[JS] Quotes & Background 구현 (0) | 2022.07.28 |
[JS] Clock 구현 - Intervals, Timeouts & dates, PadStart (0) | 2022.07.27 |