Search

26장 Math

대분류
언어
서적
소분류
JS DeepDive
태그
random
max
min
round
최종 편집 일시
2024/10/27 15:39
생성 일시
2024/02/08 00:12
14 more properties

Math 프로퍼티

수학적인 상수와 함수를 위한 프로퍼티와 메서드 제공 --> 생성자 함수는 X
정적 프로퍼티와 정적 메서드만 제공

Math.PI

Math.PI; // -> 3.141592653589793
원주율 PI값 반환

Math 메서드

Math.abs

Math.abs(-1); // -> 1 Math.abs('-1'); // -> 1 Math.abs(''); // -> 0 Math.abs([]); // -> 0 Math.abs(null); // -> 0 Math.abs(undefined); // -> NaN Math.abs({}); // -> NaN Math.abs('string'); // -> NaN Math.abs(); // -> NaN
TypeScript
복사
인수로 전달된 절대값을 반환
절대값은 반드시 0 또는 양수
인수에 빈 배열과 null은 0, 빈 객체는 NaN

Math.round

Math.round(1.4); // -> 1 Math.round(1.6); // -> 2 Math.round(-1.4); // -> -1 Math.round(-1.6); // -> -2 Math.round(1); // -> 1 Math.round(); // -> NaN
TypeScript
복사
인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환한다.
인수 없으면 NaN반환

Math.ceil

Math.ceil(1.4); // -> 2 Math.ceil(1.6); // -> 2 Math.ceil(-1.4); // -> -1 Math.ceil(-1.6); // -> -1 Math.ceil(1); // -> 1 Math.ceil(); // -> NaN
TypeScript
복사
소수점 이하 올림한 정수 반환

Math.floor

Math.floor(1.9); // -> 1 Math.floor(9.1); // -> 9 Math.floor(-1.9); // -> -2 Math.floor(-9.1); // -> -10 Math.floor(1); // -> 1 Math.floor(); // -> NaN
TypeScript
복사
소수점 이하 내림한 정수 반환

Math.sqrt

Math.sqrt(9); // -> 3 Math.sqrt(-9); // -> NaN Math.sqrt(2); // -> 1.414213562373095 Math.sqrt(1); // -> 1 Math.sqrt(0); // -> 0 Math.sqrt(); // -> NaN
TypeScript
복사
숫자의 제곱근 반환

Math.random

Math.random(); // 0에서 1 미만의 랜덤 실수(0.8208720231391746) /* 1에서 10 범위의 랜덤 정수 취득 1) Math.random으로 0에서 1 미만의 랜덤 실수를 구한 다음, 10을 곱해 0에서 10 미만의 랜덤 실수를 구한다. 2) 0에서 10 미만의 랜덤 실수에 1을 더해 1에서 10 범위의 랜덤 실수를 구한다. 3) Math.floor로 1에서 10 범위의 랜덤 실수의 소수점 이하를 떼어 버린 다음 정수를 반환한다. */ const random = Math.floor((Math.random() * 10) + 1); console.log(random); // 1에서 10 범위의 정수
TypeScript
복사
0에서 1미만의 실수 반환
1에서 10사이의 임의의 정수 구하기
Math.floor(Math.random() * 10 + 1);
TypeScript
복사

Math.pow

Math.pow(2, 8); // -> 256 Math.pow(2, -1); // -> 0.5 Math.pow(2); // -> NaN
TypeScript
복사
첫 번째 인수를 밑으로, 두 번째 인수를 지수로 거듭제곱한 결과 반환
ES7에서 도입된 지수 연산자 사용이 더 가독성 좋음
2 ** 3 // 8

Math.max

Math.max(1); // -> 1 Math.max(1, 2); // -> 2 Math.max(1, 2, 3); // -> 3 Math.max(); // -> -Infinity // 배열 요소 중에서 최대값 취득 Math.max.apply(null, [1, 2, 3]); // -> 3 // ES6 스프레드 문법 Math.max(...[1, 2, 3]); // -> 3 Math.max(...arr);
TypeScript
복사
전달받은 인수중에 가장 큰 값 반환
인수 없으면 -Infinity 반환
배열로 전달 시 스프레드 문법을 사용해야 함

Math.min

Math.min(1); // -> 1 Math.min(1, 2); // -> 1 Math.min(1, 2, 3); // -> 1 Math.min(); // -> Infinity // 배열 요소 중에서 최소값 취득 Math.min.apply(null, [1, 2, 3]); // -> 1 // ES6 스프레드 문법 Math.min(...[1, 2, 3]); // -> 1
TypeScript
복사
전달받은 인수 중 가장 작은 수 반환
인수 없으면 Infinity 반환
마찬가지로 배열로 전달받으면 스프레드 문법 사용해야 함