[JavaScript] - Math.*

큘피·2024년 6월 18일

JavaScript-codingtest

목록 보기
3/6

Math.abs()

주어진 숫자의 절대값을 반환합니다.

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

빈 객체, 하나 이상의 요소를 가진 배열, 숫자가 아닌 문자열, undefined나 빈 매개변수를 받으면 NaN을 반환합니다.
null, 빈 문자열이나 빈 배열을 제공하면 0을 반환합니다.

Math.ceil()

올림 함수

Math.ceil(0.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(-0.95); // -0
Math.ceil(-4); // -4
Math.ceil(-7.004); // -7

Math.round()

입력값을 반올림한 수와 가장 가까운 정수 값을 반환합니다.

Math.round(20.49); //  20
Math.round(20.5); //  21
Math.round(42); //  42
Math.round(-20.5); // -20
Math.round(-20.51); // -21

Math.max()

매개변수로 주어진 숫자 중 가장 큰 수를 반환하거나, 매개변수가 없을 경우 -Infinity를 반환합니다.
만약 인수 중 하나라도 숫자로 변환한 값이 NaN이라면 NaN로 반환합니다.

console.log(Math.max(1, 3, 2)); // 3

console.log(Math.max(-1, -3, -2)); // -1

const array1 = [1, 3, 2];

console.log(Math.max(...array1)); // 3

console.log(Math.max()) // -Infinity

console.log(Math.max(1, 2, 'hi')); //NaN

Math.min()

주어진 숫자들 중 가장 작은 값을 반환합니다. 만약 주어진 인자값이 없을 경우, Infinity 가 반환됩니다.
만약 인수 중 하나라도 숫자로 변환한 값이 NaN이라면 NaN로 반환합니다.

코드 생략...

Math.pow()

제곱을 위한 함수
(밑값, 제곱사용을 위한 지수)

// 간단한 예
Math.pow(7, 2); // 49
Math.pow(7, 3); // 343
Math.pow(2, 10); // 1024
// 분수 지수
Math.pow(4, 0.5); // 2 (4의 제곱근)
Math.pow(8, 1 / 3); // 2 (8의 세제곱근)
Math.pow(2, 0.5); // 1.4142135623730951 (2의 제곱근)
Math.pow(2, 1 / 3); // 1.2599210498948732 (2의 세제곱근)
// 양의 지수
Math.pow(7, -2); // 0.02040816326530612 (1/49)
Math.pow(8, -1 / 3); // 0.5
// 양의 밑
Math.pow(-7, 2); // 49 (제곱의 결과값은 양수입니다.)
Math.pow(-7, 3); // -343 (세제곱은 음수가 될 수 있습니다.)
Math.pow(-7, 0.5); // NaN (음수는 실제 제곱근을 가지지 않습니다.)
// "짝수"와 "홀수" 근이 서로 가깝게 놓여 있고
// 부동소수점 정밀도의 한계로 인해,
// 밑이 음수이며 지수가 분수라면 언제나 NaN을 반환합니다.
Math.pow(-7, 1 / 3); // NaN

Math.sqrt()

숫자의 제곱근을 반환합니다.
만약 숫자가 음수이면 NaN를 반환합니다.

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095

Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
profile
취준생의 개발블로그

0개의 댓글