내장 객체 - Math객체

RingKim1·2024년 4월 26일

JavaScript

목록 보기
3/10

📌내장 객체

  • 해당 프로그래밍 언어가 기본적으로 제공하는 객체

  • 여러 용도에 활용 가능

  • 자바스크립트 표준 내장 객체 보러가기
    - 함수, 숫자 및 날짜, 텍스트 등등..


우리가 습관적으로 사용하는 length도 String 객체에 메서드!

어떠한 기능을 구현하거나 문제를 해결해야 할 때
자바스크립트가 제공하는 내장 객체들의 메서드를 활용하면 시간을 절약하는 등 많은 도움이 된다.

❓메서드(method)

메서드(method) 또는 멤버 함수는 객체 지향 프로그래밍에서 객체와 관련된 서브 루틴 (또는 함수)이자 클래스가 갖고 있는 기능이다. 데이터와 멤버 변수에 대한 접근 권한을 갖는다.
[위키백과]


오늘은 자주 사용 될 것 같은 Math 객체부터 알아보자

Math 객체

  • 수학정인 상수와 함수를 위한 속성(프로퍼티)과 메서드를 가진 내장 객체
  • 생성자가 아님 => 따라서 Math 객체는 정적 프로퍼티와 메서드만 제공

Math Method

Math.max(…number) : number
인수 중에서 가장 큰 수를 반환한다.

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

// 배열 요소 중에서 최댓값 취득
// max()  인수로 배열을 받을 수 없으니, 배열을 인수로 받는 apply를 사용
const arr = [1, 2, 3];
const max = Math.max.apply(null, arr); // 3
// ES6 문법
Math.max(...arr); // 3
[...rest] = [1,2,4]; // rest = [1,2,4]
Math.max(...rest); //4

Math.min(…number) : number
인수 중에서 가장 작은 수를 반환한다.

Math.min(1, 2, 3); // 1

// 배열 요소 중에서 최소값 취득
const arr = [1, 2, 3];
const min = Math.min.apply(null, arr); // 1
// ES6 문법
Math.min(...arr); // 1

Math.round(number) : number
인수의 소수점 이하를 반올림한 정수를 반환한다.

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

Math.ceil(number) : number
인수의 소수점 이하를 올림한 정수를 반환한다.

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(number) : number
인수의 소수점 이하를 내림한 정수를 반환한다. Math.ceil의 반대 개념이다.

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

Math.abs(number) : number
인수의 절댓값을 반환한다.

Math.abs(-1);       // 1
Math.abs('-1');     // 1
Math.abs('');       // 0
Math.abs([]);       // 0
Math.abs(null);     // 0
Math.abs(undefined);// NaN

Math.sqrt(number) : number
인수의 제곱근을 반환한다.

Math.sqrt(9);  // 3
Math.sqrt(-9); // NaN
Math.sqrt(2);  // 1.414213562373095
Math.sqrt(1);  // 1
Math.sqrt(0);  // 0
Math.sqrt();   // NaN

Math.random() : number
임의의 부동 소수점을 반환한다.
반환된 부동 소수점은 0부터 1 미만이다.
즉, 0은 포함되지만 1은 포함되지 않는다.

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까지의 정수

Math.pow(number, number) : number
첫번째 인수를 밑(base), 두번째 인수를 지수(exponent)로하여 거듭제곱을 반환한다.

Math.pow(2, 8);  // 256
Math.pow(2, -1); // 0.5

// ES7(ECMAScript 2016) Exponentiation operator(거듭 제곱 연산자)
2 ** 8; // 256

Math.trunc(float)
주어진 인수의 소수부분을 제거하고 숫자의 정수부분을 반환한다.
양수의 경우 Math.floor(), 음수의 경우 Math.ceil()와 동일한 값을 나타냄.

Math.trunc(3.14159); // 3
Math.trunc(-124.39); // -124

참고자료
Mdn
inpa Dev

profile
커피는 콜드브루

0개의 댓글