자바스크립트에서 몫의 정수부분을 구하는 방법은 정말 다양하다. 그 중 Double Tilde(~~)에 대해서 처음 알게되었고, 지금까지 알게 된 방법들을 정리 해 보았다.
1. Math.floor() 함수 사용하기
Math.floor() 함수는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환한다. 따라서 몫의 정수부분을 구하는 데에 사용할 수 있다.
let a = 10;
let b = 3;
let quotient = Math.floor(a / b); // 3
2. Double Tilde(~~) 연산자 사용하기
Double Tilde(~~) 연산자를 사용해서 몫의 정수부분을 구할 수도 있다.
let a = 10;
let b = 3;
let quotient = ~~(a / b); // 3
3. parseInt() 함수 사용하기
parseInt() 함수를 사용해서 문자열을 정수로 변환할 수 있다. 이때, parseInt() 함수에 두 번째 인자로 radix 값을 지정하면 해당 진법으로 변환된 결과를 반환한다. 따라서 10진법의 몫을 구하는 경우, radix 값을 10으로 지정해야 한다.
let a = 10;
let b = 3;
let quotient = parseInt(a / b, 10); // 3
4. Bitwise 연산자 사용하기
Bitwise 연산자인 >> (Right shift)를 사용해서 몫의 정수부분을 구할 수도 있다. 이때, Bitwise 연산자는 소수점 이하를 버리는 특징이 있다.
let a = 10;
let b = 3;
let quotient = a / b >> 0; // 3
5. Number() 함수와 toFixed() 메서드 사용하기
Number() 함수와 toFixed() 메서드를 사용해서 소수점 이하를 버리고 정수로 변환할 수도 있다.
let a = 10;
let b = 3;
let quotient = Number((a / b).toFixed(0)); // 3
6. Math.trunc() 함수 사용하기
let a = 10;
let b = 3;
let quotient = Math.trunc(a / b); // 3
위와 같은 방법들 중에서, 일반적으로 가장 많이 사용되는 방법은 Math.floor() 함수나 Double Tilde(~~) 연산자를 통한 풀이였던거 같다.
'Javascript' 카테고리의 다른 글
자바스크립트에서 void(0)의 의미와 활용과 대체 방법 (49) | 2023.11.26 |
---|---|
객체의 얕은 복사와 깊은 복사를 수행하는 방법들 (39) | 2023.11.23 |
파괴적 처리와 비파괴적 처리(destructive and non-destructive) (23) | 2023.11.22 |
배열과 객체 구조 분해 할당(destructuring assignment) (27) | 2023.11.21 |
배열과 문자열에서 중복값 제거할 수 있는 방법들 (30) | 2023.11.20 |