탄탄한 기본기!

javaScript - Math 본문

개인 공부/JS (자바스크립트)

javaScript - Math

두영두영 2021. 5. 29. 14:29

Math는 표준 빌트인 객체이며 수학적인 상수와 함수를 위한 프로퍼티와 메서드를 제공한다. Math는 생성자 함수가 아니기 때문에 Math는 정적 프로퍼티정적 메서드만 제공한다.

 


Math 프로퍼티

Math의 정적 프로퍼티는 Math.PI가 존재하며, 원주율의 값을 가진다.

Math.PI; // -> 3.141592653589793

Math 메서드

1. Math.abs

Math.abs 메서드는 인수로 전달된 숫자의 절댓값(absolute value)을 반환한다. 절댓값은 반드시 0 또는 양수이어야 한다. 만약 숫자가 아닌 경우에는 NaN을 반환한다.

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

2. Math.round

 

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

3. Math.ceil / Math.floor

위와는 다르게, Math.ceil은 반올림이 아니라 소수점 이하를 올림한 정수를 반환하며 Math.floor는 소수점 이하를 내림한 정수를 반환한다.

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

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

4.  Math.sqrt

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

5. Math.random

임의의 난수(랜덤 숫자)를 반환하는데, Math.random 메서드가 반환한 난수는 0에서 1 미만의 실수다. 즉, 1을 포함하지 않는 실수이다.

Math.random(); // 0에서 1 미만의 랜덤 실수(0.8208720231391746)

const random = Math.floor((Math.random() * 10) + 1); // 1에서 10 범위의 정수

 6. Math.Max / Math.Min

 인수 중에서 가장 큰 수 / 작은 수를 반환한다. 인수가 전달되지 않으면 -Infinity / Infinity를 반환한다. 만약 배열을 전달받아 사용하고 싶을 경우에는 스프레드 문법을 사용해서 풀어서 전달해주어야 한다.

Math.max(1); // -> 1
Math.max(1, 2); // -> 2
Math.max(1, 2, 3); // -> 3
Math.max(); // -> -Infinity

Math.min(1); // -> 1
Math.min(1, 2); // -> 1
Math.min(1, 2, 3); // -> 1
Math.min(); // -> Infinity


Math.max(...[1, 2, 3]); // -> 3

'개인 공부 > JS (자바스크립트)' 카테고리의 다른 글

javaScript - Symbol 타입  (0) 2021.06.01
Node.js와 Jest 실습  (0) 2021.06.01
javaScript - String  (0) 2021.05.30
javaScript - Date  (0) 2021.05.30
javaScript - Number  (0) 2021.05.29
Comments