반응형
Tilt(~) 연산자 사용법
틸트(Tilt)
연산자를 사용하게 되면 내부적으로 32비트 정수로 변환 후 NOT
연산자를 실행한다.
9
~9 // -10
최종적으로 2의 보수 -(n+1)
와 같다.
Tilt(~)를 사용하여 참, 거짓 처리
-(n+1)
와 같다는 성질을 이용하여 조건문에서 Tilt(~)
를 이용할 수 있다.
const str = "Hello World";
if (~str.indexOf("ll")) {
console.debug('참');
} else {
console.debug('거짓');
}
const arry = [1, 2, 3];
if (arry.findIndex(item => item === 2)) {
console.debug('참');
}
Tilt(~)를 두개 사용하여 비트 잘라내기
Tilt(~) 사용시 숫자의 소수점을 버리게 되며, ~(Tilt) 연산을 두번 시킴으로써 결과적으로는 원래 상태로 되돌리게 된다.
이러한 소수점 버림 처리는 양수
에서는 Math.floor()
와 동일하게 적용되어 결과값이 같으나,음수
에서는 결과값이 달라질 수 있다.
~~52.3; // 52
Math.floor(52.3); //52
~~-43.2; // -43
Math.floor(-43.2); // -44
참고자료
반응형
'Develope > Javascript' 카테고리의 다른 글
[Javascript]|| 와 ?? 의 차이점 (0) | 2022.01.15 |
---|---|
[Javascript]덧셈(+) 연산자 사용법 (0) | 2021.02.06 |
[Javascript]Truthy, Falsy (0) | 2021.01.13 |
[Javascript]올림, 내림, 반올림과 같은 수학적 처리를 위한 Math 객체 (0) | 2020.06.29 |
[Javascript]Promise.allSettled 사용법 (0) | 2020.06.26 |