수학 연산자 우선순위처럼 생각해주세요!
더하기보다 곱하기가, 곱하기보다 ()
가 우선순위가 더 높아요!
(2 + 3) * 4;
>20
다만, 자바스크립트에서 중괄호 {}
나 대괄호 []
가 수학과는 다른 의미이기 때문에 연산자 우선순위를 바꿀 때는 사용하지 않아요 ! 소괄호 ()
이용바람다
*1분 퀴즈
연산자 우선순위 표를 참고해 3 ** 2 + 1을 27로 만들어보세요.
3 ** (2 + 1); //3 ** 3
>27
자바스크립트로 정수 뿐만 아니라 실수도 계산할 수 있다.
0.5 + 0.5;
>1
하지만, 실수 연산을 할 때는 조심할 점이 있다. 0.1과 0.2를 더하면 어떤 값이 나올까?
당연히 0.3이라고 생각했다.
0.1 + 0.2;
>0.300000000000004
0.3 - 0.1;
>0.199999999999998;
왜 그럴까? 컴퓨터는 0과 1밖에 몰라서 이진법으로 계산하기 때문이다… 이진법으로 계산하기 어려운 숫자들은 미세하게 값이 달라질 수 있다. *부동 소수점 계산
해결하기 위해선,
(0.3 * 10 - 0.1 * 10) / 10;
>0.2
정수로 만들어준다음에 계산하면 거의 오류가 발생하지 않는다.