2023. 1. 6. 14:51ㆍJavascript/TCP school
Math 객체
수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체
생성자(constructor)가 존재하지 않음
따로 인스턴스를 생성하지 않아도 Math 객체의 모든 메소드나 프로퍼티를 바로 사용할 수 있음
Math 메소드
대표적인 Math 메소드
1. Math.min()
2. Math.max()
3. Math.random()
4. Math.round()
5. Math.floor()
6. Math.ceil()
7. Math.sin()
웹 브라우저마다 다른 결괏값을 얻을 가능성이 높음
심지어 같은 자바스크립트 인터프리터라도 운영체제가 다르면 다른 결괏값을 반환할 수 있음
따라서 아주 정확한 결괏값이 필요한 작업에는 Math 메소드는 사용하지 않는 것이 좋음
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() 메소드
인수로 전달받은 값 중에서 가장 큰 수를 반환
인수가 전달되지 않으면 -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() 메소드
0보다 크거나 같고 1보다 작은 무작위 숫자(random number)를 반환
var min = 10, max = 20;
Math.random(); // [0, 1)
Math.random() * (max - min) + min; // [min, max)
또한, '('기호는 '보다 큰'을 나타내며, ')'기호는 '보다 작은'을 나타내는 기호
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(10.95); // 10
Math.floor(11.01); // 11
Math.floor(-10.95); // -11
Math.floor(-11.01); // -12
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() 메소드
인수로 전달받은 값의 사인(sine) 함숫값을 반환
Math.sin(0); // 0
Math.sin(Math.PI / 2); // 1
자바스크립트에서 제공하는 삼각 함수에 관한 모든 메소드는 각도의 단위로 라디안(radian)을 사용
이때 라디안 단위와 60분법 단위를 서로 변환하기 위해서는 다음과 같은 공식을 사용
라디안값 = 60분법값 * (Math.PI / 180)
따라서 대략적인 값으로 3.145159
자바스크립트 Math 메소드
메소드 | 설명 |
Math.min(x, y, ...) | 인수로 전달받은 값 중에서 가장 작은 수를 반환함. |
Math.max(x, y, ...) | 인수로 전달받은 값 중에서 가장 큰 수를 반환함. |
Math.random() | 0보다 크거나 같고 1보다 작은 랜덤 숫자(random number)를 반환함. |
Math.round(x) | x를 소수점 첫 번째 자리에서 반올림하여 그 결과를 반환함. |
Math.floor(x) | x와 같거나 작은 수 중에서 가장 큰 정수를 반환함. |
Math.ceil(x) | x와 같거나 큰 수 중에서 가장 작은 정수를 반환함. |
Math.abs(x) | x의 절댓값을 반환함. |
Math.cbrt(x) | x의 세제곱근을 반환함. |
Math.sqrt(x) | x의 제곱근을 반환함. |
Math.clz32(x) | x을 32비트 이진수로 변환한 후, 0이 아닌 비트의 개수를 반환함. |
Math.exp(x) | ex 의 값을 반환함. (e : 오일러의 수) |
Math.expm1(x) | 1 - ex 의 값을 반환함. |
Math.fround(x) | x와 가장 근접한 32비트 부동 소수점 수(single precision float)를 반환함. |
Math.hypot(x, y, ...) | 인수로 전달받은 값들을 각각 제곱한 후 더한 총합의 제곱근을 반환함. |
Math.imul(x, y) | 인수로 전달받은 두 값의 32비트 곱셈의 결과를 반환함. |
Math.log(x) | x의 자연로그 값을 반환함. (ln x) |
Math.log1p(x) | ln(1 + x)의 값을 반환함. |
Math.log10(x) | x의 10을 밑으로 가지는 로그 값을 반환함. |
Math.log2(x) | x의 2를 밑으로 가지는 로그 값을 반환함. |
Math.pow(x, y) | x의 y승을 반환함. |
Math.sign(x) | x의 부호 값을 반환함. |
Math.trunc(x) | x의 모든 소수 부분을 삭제하고 정수 부분만을 반환함. |
Math.sin(x), Math.cos(x), Math.tan(x),Math.asin(x), Math.acos(x), Math.atan(x), Math.asinh(x), Math.acosh(x), Math.atanh(x), Math.atan2(x) | x의 해당 삼각 함숫값을 반환함. |
자바스크립트 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 |
참고
http://www.tcpschool.com/javascript/js_standard_math
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'Javascript > TCP school' 카테고리의 다른 글
Date 메소드 (0) | 2023.01.06 |
---|---|
Date 객체 (0) | 2023.01.06 |
Number 메소드 (1) | 2023.01.05 |
Number 객체 (0) | 2023.01.05 |
전역 객체와 래퍼 객체 (0) | 2023.01.04 |