728x90
반응형
1. 비교연산자
- 자바와의 차이점은 result1이 참이라는 점이다.
- JavaScript에서는 == 연산자를 사용하면, 두 값의 타입이 달라도 자동으로 타입 변환(type coercion)을 수행하여 값을 비교합니다. 따라서, 숫자 5와 문자열 '5'를 비교할 때, 문자열 '5'가 숫자 5로 자동 변환되어 두 값은 같다고 평가됩니다.
- 하지만, !== 연산자는 값과 타입이 정확히 일치하지 않을 경우 true를 반환합니다. 따라서 num3 !== num4에서 num3은 숫자 5이고, num4는 문자열 '5'이므로, 타입이 다릅니다. 이 경우 result2는 true
- 절대비교 연산자는 연산자기호를 세개 사용한다.
2. 비트연산자
2.1 ~ 연산자(음수 표현)
- result 값의 출력이 -5가 나올 것 같지만 -6이 나온다. (~는 비트를 반대로 표현하므로 2진수를 뒤집는다고 생각하자)
- 자바스크립트에서 물결표 연산자(~)는 비트 NOT 연산자입니다. 이 연산자는 각 비트를 반전시킵니다. 즉, 0은 1로, 1은 0으로 바꿉니다. 비트 NOT 연산은 피연산자의 이진 표현을 취한 후 모든 비트를 반전시키는 연산입니다.
- 피연산자를 32비트 정수로 변환합니다.
- 모든 비트를 반전시킵니다.
- 비트 NOT 연산자는 다음과 같은 방식으로 작동합니다:
2.2 << 연산자(곱하기)
- 결과값은 10이다.
- 비트를 왼쪽으로 1칸 이동한다.
- 곱하기 2와 같다.
2.3 >>연산자(나누기)
- 결과값은 2이다.
- 비트를 오른쪽으로 1칸 이동한다.
- 나누기 2와 같지만 값을 넘어가게 되면 소실되어 2로 나눈 값보다 작을 수 있다.
댓글