반응형
Math 객체
- Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체다.
- Math 객체는 다른 전역 객체와는 달리 생성자(constructor)가 존재하지 않으므로, 따로 인스턴스를 생성하지 않아도 Math 객체의 모든 메소드나 프로퍼티를 바로 사용할 수 있다.
Math 프로퍼티
Math.E | 오일러의 수(Euler's constant)라고 불리며, 자연로그(natural logarithms)의 밑(base) 값 | 2.718 |
Math.LN2 | 2의 자연로그 값 | 0.693 |
Math.LN10 | 10의 자연로그 값 | 2.303 |
Math.LOG2E | 오일러 수(e)의 밑 값이 2인 로그 값 | 1.443 |
Math.LOG10E | 오일러 수(e)의 밑 값이 10인 로그 값 | 0.434 |
Math.PI | 원의 원주를 지름으로 나눈 비율(원주율) 값 | 3.14159 |
Math.SQRT1_2 | 2의 제곱근의 역수 값 | 0.707 |
Math.SQRT2 | 2의 제곱근 값 | 1.414 |
Math 메소드
- Math 메소드는 웹 브라우저마다 다른 결괏값을 얻을 가능성이 높아서 아주 정확한 결괏값이 필요한 작업에는 Math 메소드는 사용하지 않는 것이 좋다.
Math.abs() 메소드
- 인수의 절댓값(absolute value)을 반환한다. 절댓값은 반드시 0 또는 양수이어야 한다.
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
Math.min() 메소드
- Math.min() 메소드는 인수로 전달받은 값 중에서 가장 작은 수를 반환하며, 인수가 전달되지 않으면 Infinity를 인수 중에 비교할 수 없는 값이 포함되어 있으면 NaN을 반환한다.
Math.min(); // Infinity
Math.min(1, 10, -100, -10, 1000, 0); // -100
Math.min(1, 10, -100, -10, "-1000", 0); // -1000
Math.min(1, 10, -100, -10, "문자열", 0); // NaN
Math.max() 메소드
- Math.max() 메소드는 인수로 전달받은 값 중에서 가장 큰 수를 반환하며, 인수가 전달되지 않으면 -Infinity를 인수 중에 비교할 수 없는 값이 포함되어 있으면 NaN을 반환한다.
Math.max(); // -Infinity
Math.max(1, 10, -100, -10, 100, 0); // 100
Math.max(1, 10, -100, -10, "1000", 0); // 1000
Math.max(1, 10, -100, -10, "문자열", 0); // NaN
Math.random() 메소드
- Math.random() 메소드는 0보다 크거나 같고 1보다 작은 무작위 숫자를 반환한다.
var min = 10, max = 20;
Math.random(); // [0, 1)
Math.random() * (max - min) + min; // [min, max)
// [ 기호는 크거나 같음이며, ] 기호는 작거나 같음을 나타낸다
// ( 기호는 보다 큰을 나타내며, ) 기호는 보다 작음을 나타낸다
Math.round() 메소드
- Math.round() 메소드는 인수의 소수점 이하를 반올림한 정수를 반환한다.
Math.round(10.49); // 10
Math.round(10.5); // 11
Math.round(-10.5); // -10
Math.round(-10.51); // -11
Math.floor() 메소드
- 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
Math.ceil() 메소드
- Math.ceil() 메소드는 인수의 소수점 이하를 올림한 정수를 반환한다.
Math.ceil(10.95); // 11
Math.ceil(11.01); // 12
Math.ceil(11); // 11
Math.ceil(-10.95); // -10
Math.ceil(-11.01); // -11
Math.sin() 메소드
- Math.sin() 메소드는 인수로 전달받은 값의 사인(sine) 함숫값을 반환한다.
- 자바스크립트에서 제공하는 삼각 함수에 관한 모든 메소드는 각도 단위로 라디안을 사용하며, 라디안 단위와 60분법 단위를 서로 변환하기 위해서는 아래 공식을 사용한다.
라디안값 = 60분법값 * (Math.PI / 180)
// Math.PI는 파이(π)값을 나타내는 자바스크립트 상수로 대략적으로 3.145159를 나타냄
Math.sin(0); // 0
Math.sin(Math.PI / 2); // 1
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
Math.pow() 메소드
- Math.pow() 메소드는 첫번째 인수를 밑(base), 두번째 인수를 지수(exponent)로하여 거듭제곱을 반환한다.
Math.pow(2, 8); // 256
Math.pow(2, -1); // 0.5
Math.pow(2); // NaN
// ES7(ECMAScript 2016) Exponentiation operator(거듭 제곱 연산자)
2 ** 8; // 256
Reference
반응형
'Language > JavaScript' 카테고리의 다른 글
[Javascript] 자바스크립트 표준 객체 - String 객체와 메소드 (0) | 2023.08.02 |
---|---|
[Javascript] 자바스크립트 표준 객체 - Date 객체와 메소드 (0) | 2023.08.02 |
[Javascript] 자바스크립트 표준 객체 - Number 객체와 메소드 (0) | 2023.08.02 |
[Javascript] 자바스크립트 객체 분류 - 네이티브, 호스트 객체 (0) | 2023.08.02 |
[Javascript] 자바스크립트 객체 지향 프로그래밍 - 추상, 캡슐, 상속, 다형 (0) | 2023.07.30 |