(1) abs()
Math.abs() 메소드는 절댓값을 반환하는 함수다.
매개변수로 주어진 숫자가 양수나 0이면 그대로 반환하고
음수면 - 부호를 떼고 양수를 반환한다.
사용 방식 :
Math.abs(숫자)
유의할 점:
1. '-1' 과 같이 문자열 자료 형태로 숫자를 넣어도, 숫자를 인식하고 제대로 절댓값을 반환해준다.
2. 빈 객체, 하나 이상의 요소를 가진 배열, 숫자가 아닌 문자열, undefined나 빈 매개변수를 받으면 NaN을 반환한다.
3. null, 빈 문자열, 빈 배열을 제공하면 0을 반환한다.
공식 문서에 모든 예시가 잘 나와있다.
Math.abs('-1'); // 1
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs(''); // 0
Math.abs([]); // 0
Math.abs([2]); // 2
Math.abs([1,2]); // NaN
Math.abs({}); // NaN
Math.abs('string'); // NaN
Math.abs(); // NaN
(2) ceil()
Math.ceil() 메소드는 올림 계산을 해주는 함수다.
사용 방식 :
Math.ceil(숫자)
예시를 보면 금방 알 수 있다.
Math.ceil(7.004); // 8
Math.ceil(-7.004); // -7
(3) floor()
Math.floor() 메소드는 반대로 내림 계산을 해주는 함수다.
사용 방식 :
Math.floor(숫자)
이전 포스트에서 썼듯이 Math.trunc()와 계산 방식이 다른데,
쉽게 말해서 floor()는 내림이고 trunc()는 버림이다.
이번에도 예시를 보면 바로 알 수 있다.
console.log(Math.floor(5.95));
// Expected output: 5
console.log(Math.floor(-5.05));
// Expected output: -6
(4) round()
마지막으로 Math.round() 메소드는 반올림 계산을 해주는 함수다.
사용 방식 :
Math.round(숫자)
예시로 설명을 끝내겠다.
console.log(Math.round(5.95), Math.round(5.5), Math.round(5.05));
// Expected output: 6 6 5
console.log(Math.round(-5.05), Math.round(-5.5), Math.round(-5.95));
// Expected output: -5 -5 -6
(5) max(), min()
Math.max() 메소드는 입력 받은 0개 이상의 숫자 중에서, 가장 큰 숫자를 반환한다.
(0개라고 하면 뭐야? 하게 되는데 매개변수가 없어도 반환하는 값이 있어서 그렇다.
일반적으로는 무조건 1개 이상은 들어간다고 보면 된다.)
사용 방식 :
Math.max(값0, 값1, ... , 값N)
매개변수 없이 Math.max()이라고 작성할 경우 -Infinity를 반환하며,
입력받은 값 중 하나라도 숫자로 변환하지 못할 경우 NaN을 반환한다.
아래는 예시
console.log(Math.max(1, 3, 2));
// Expected output: 3
console.log(Math.max(-1, -3, -2));
// Expected output: -1
const array1 = [1, 3, 2];
console.log(Math.max(...array1));
// Expected output: 3
Math.min() 메소드는 반대로 가장 작은 숫자를 반환한다.
max()와 완전히 똑같은 방식이므로 중복되는 설명은 생략.
매개변수 없이 Math.min()이라고 작성할 경우 Infinity를 반환한다.
(6) pow(), sqrt()
이 친구들은 사실 프로젝트하면서 쓰는 일은 없었는데,
거듭제곱이 코딩테스트에 나와서 공식 문서를 훑어보는 김에 같이 정리했다.
Math.pow()는 거듭제곱한 값을 반환해주는 함수다.
사용 방식 :
Math.pow(밑값, 제곱할 지수)
예시를 보면 바로 알 수 있다.
console.log(Math.pow(7, 3));
// Expected output: 343
7 * 7 * 7 = 343
그러나 거듭제곱은 ** 연산자로 구할 수 있어서 굳이 메소드를 쓰지 않아도 된다.
console.log(3 ** 4);
// Expected output: 81
console.log(2 ** 3 ** 2);
// Expected output: 512
// 거듭제곱 연산자는 우측 결합성을 가지므로 a ** b ** c 는 a ** (b ** c) 와 같다.
console.log((2 ** 3) ** 2);
// Expected output: 64
Math.sqrt()는 매개변수로 주어진 숫자의 제곱근을 구하는 메소드다.
만약 매개변수로 음수가 들어오면 NaN을 반환한다.
사용 방식 :
Math.sqrt(숫자)
역시나 예시를 보면 감이 온다.
Math.sqrt(9); // 3
'코딩테스트 > 프로그래머스 기초 트레이닝' 카테고리의 다른 글
[Javascript] 글자 이어 붙여 문자열 만들기 (0) | 2023.05.22 |
---|---|
[Javascript] 테스트에서 사용한 문자열 객체 메소드 정리 - replaceAll() includes() charAt() (0) | 2023.05.22 |
[출력 문제] 자바스크립트로 테스트 입력값 받기 (Node.js) (0) | 2023.05.18 |
[Javascript] n개 간격의 원소들 (0) | 2023.05.18 |
[Javascript] 배열 만들기 - split() Array.from() 전개연산자 (0) | 2023.05.17 |
[Javascript] 첫 번째로 나오는 음수 - findIndex() find() indexOf() (0) | 2023.05.17 |
[Javascript] 자료형 변환 (0) | 2023.05.17 |
[Javascript] 문자열 자르는 메소드 - slice() substring() substr() (0) | 2023.05.17 |