Math 객체 정리

Eom Deokhyeon·2022년 12월 15일
0

JavaScript

목록 보기
2/2
post-thumbnail
post-custom-banner

📌 Math 객체는 수학 상수와 함수를 위한 프로퍼티, 메소드를 미리 구현해 놓은 빌트인 객체이다.
📌 생성자(constructor)가 존재하지 않는다. Static 프로퍼티와 메소드만 제공하기 때문에 인스턴스를 생성할 필요 없이 바로 사용 가능하다.
📌 Math 객체는 정말 많은 메소드를 제공하는데 이 글에서는 자주 사용하거나 유용하게 사용하는 메소드만 알아본다.

1. Math 메소드

 1) Math.random()

 - 0보다 크거나 같고 1보다 작은(0 ≤ X < 1 사이의 부동 소수점) 무작위 숫자를 반환
Math.random();					  // 기본 랜덤 메소드 호출, 0.9854658496
(Math.random() * 10).toFixed();   // 0~10 랜덤 수 리턴 (String)
Math.round(Math.random() * 10));  // 0~10 랜덤 수 리턴 (Number)

 2) Math.abs()

 - 전달 받은 인수의 절대값을 반환
Math.abs(-1);		  // 1
Math.abs(1);		  // 1
Math.abs('-1');		  // 1
Math.abs(1.23);		  // 1.23
Math.abs(-1.23);	  // 1.23
Math.abs('');		  // 0
Math.abs([]);	      // 0
Math.abs(null);		  // 0
Math.abs(undefined);  // NaN
Math.abs({});		  // NaN
Math.abs('Hello');	  // NaN

 3) Math.min()

 - 전달 받은 값 중에서 가장 작은 수 반환
 - 인수가 없을 경우 infinity, 비교 불가능한 값이 있으면 NaN을 반환
Math.min();								// infinity
Math.min(1, -2, 3, -1, 50); 			// -2
Math.min(1, -4, 6, 10, 'Hello', 32) 	// NaN

let arr = [1, 2, 3, 4, 5];
console.log(Math.min(arr)); 			// NaN
console.log(Math.min(...arr));			// 1
console.log(Math.min.apply(null, arr)); // 1

 4) Math.max()

 - 전달 받은 값 중에서 가장 큰 수 반환
 - 인수가 없을 경우 infinity, 비교 불가능한 값이 있으면 NaN을 반환
Math.max();								// infinity
Math.max(1, -2, 3, -1, 50); 			// 50
Math.max(1, -4, 6, 10, 'Hello', 32) 	// NaN

let arr = [1, 2, 3, 4, 5];
console.log(Math.max(arr)); 			// NaN
console.log(Math.max(...arr));			// 5
console.log(Math.max.apply(null, arr)); // 5

 5) Math.round()

 - 전달 받은 값을 소수점 첫 번째 자리에서 반올림하여 숫자로 리턴
Math.round(1.2345);		// 1
Math.round(1.5678);		// 2
Math.round(1);			// 1
Math.round(0);			// 0
Math.round(0.5);		// 1
Math.round();			// NaN
Math.round('Hello');	// NaN

 6) Math.floor()

 - 전달받은 값과 같거나 큰 수 중 가장 큰 정수를 리턴
 - 즉, 전달받은 값에서 소수점 이하를 내림하여 리턴
Math.floor(1.2345);		// 1
Math.floor(1.5678);		// 1
Math.floor(1)			// 1
Math.floor(-0.95);		// -1
Math.floor(-1.234);		// -2
Math.floor();			// NaN
Math.floor('Hello');	// NaN

 7) Math.ceil()

 - 전달받은 값과 같거나 큰 수 중 가장 작은 정수를 리턴
 - 전달받은 값에서 소수점 이하를 올림하여 리턴
Math.ceil(1.2345);		// 2
Math.ceil(1.5678);		// 1
Math.ceil(1)			// 1
Math.ceil(-0.95);		// -0
console.log(0 === Math.ceil(-0.95)) // true
Math.ceil(-1.234);		// -2
Math.ceil();			// NaN
Math.ceil('Hello');		// NaN

2. Math 프로퍼티

 - Javascript는 수학에서 사용하는 다양한 상수들을 Math 프로퍼티를 이용하여 제공한다.

Math.E;	 		// 약2.718, 오일러 수(e), 자연로그(natural logarithms)의 밑(base) 값 
Math.LN10; 		// 약 2.303, 10의 자연로그 값 
Math.LN2; 		// 약 0.693 
Math.LOG10E ; 	// 약 0.434, 오일러 수(e)의 밑 값이 10인 로그 값 
Math.LOG2E; 	// 약 1.443, 오일러 수(e)의 밑 값이 2인 로그 값 
Math.PI; 		// 약 3.14, 원의 원주를 지름으로 나눈 비율(원주율) 값 
Math.SQRT1_2;	// 약 0.707, 2의 제곱근의 역수 값 
Math.SQRT2; 	// 약 1.414, 2의 제곱근 값 
post-custom-banner

0개의 댓글