새소식

300x250
카테고리 없음

[JavaScript (10)] Javascript Math 객체, Math 메소드(Math.random, Math.round 등)

  • -
728x90

[JavaScript (10)] Javascript Math 객체, Math 메소드(Math.random, Math.round 등)

안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 자바스크립트 객체 - Math 입니다. : ) 

 

0. Math 객체

 

 - Math 객체는 수학 상수와 함수를 위한 프로퍼티, 메소드를 미리 구현해 놓은 빌트인 객체 이다.
 - 생성자(constructor)가 존재하지 않는다. 
   Static 프로퍼티와 메소드만 제공기 때문에 인스턴스를 생성할 필요 없이 바로 사용 가능하다.

▶ 1. Math 메소드

 - 정말 많은 메소드를 제공하는데, 자주 사용하거나, 유용한 메소드만 알아보자.

 - 다양한 메소드 중 표시한 7가지 메소드만 알아도 기본 업무에는 지장이 없을 것이다.

 

1) Math.random()
 - 0보다 크거나 같고 1보다 작은(0 <= x < 1사이의 부동 소수점) 무작위 숫자(random number)를 반환


ex)

Math.random(); // 기본 랜덤 메소드 호출, 0.9569793562433155 
(Math.random() * 10).toFixed(); // 0 ~ 10 랜덤 수 리턴(문자열) 
Math.round((Math.random() * 10)); // 0 ~ 10 랜덤 수 리턴(number) 


2) Math.abs()
 - 전달 받은 인수의 절대값을 반환한다.


ex)

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();         // NaN 
Math.abs(undefined);// NaN 
Math.abs({});       // NaN 
Math.abs('god');  // NaN

 
3) Math.min()
 - 전달받은 값 중에서 가장 작은 수를 반환한다.
 - 인수가 없을경우 infinity, 비교 불가능한 값이 있는 경우응 NaN을 반환한다.

ex)

Math.min();                             // Infinity 
Math.min(1, 2, -1, -2, 100, 0);      // -2 
Math.min(1, 2, -1, -2, "test", 0);      // NaN 

var arr = [1,2,3]; 
console.log(Math.min(arr)); // NaN 
console.log(Math.min.apply(null, arr)); // 1 
console.log(Math.min(...arr)); // 1 (ES6에서 가능) 


4) Math.max()
 - 전달받은 값 중에서 가장 큰 수를 반환한다.
 - 인수가 없을경우 infinity, 비교 불가능한 값이 있는 경우는 NaN을 반환한다.

ex)

Math.max();                             // Infinity 
Math.max(1, 2, -1, -2, 100, 0);      // 100 
Math.max(1, 2, -1, -2, "test", 0);      // NaN 

var arr = [1,2,3]; 
var a = Math.max(arr); // NaN 
var b = Math.max.apply(null, arr); // 3 
var c = Math.max(...arr); // 3 (ES6에서 가능) 


5) Math.round()
 - 전달받은 값을 소수점 첫 번째 자리에서 반올림하여 숫자로 리턴한다.


ex)

Math.round(1.234);  // 1 
Math.round(1.23);   // 1 
Math.round(1.56);   // 2 
Math.round(1);      // 1 
Math.round(0);      // 0 
Math.round(0.55555);// 1 
Math.round();  // NaN 
Math.round('god'); // NaN 


6) Math.floor()
 - 전달받은 값과 같거나 작은수 중 가장 큰 정수를 리턴한다.


ex)

Math.floor(1.23);   // 1 
Math.floor(1);      // 1 
Math.floor(-0.95);  // -1 
Math.floor(-1.23);  // -2 
Math.floor();  // NaN 
Math.floor('god');  // NaN 
Math.floor('');  // 0 


7) Math.ceil()
 - 전달받은 값과 같거나 큰수 중 가장 작은 정수를 리턴한다.

 

ex)

Math.ceil(1.23);   // 2 
Math.ceil(1);      // 1 
Math.ceil(-0.95);  // -0 => 이부분은 익스등에선 0으로 표기된다. 
console.log(0 === Math.ceil(-0.95))  // true 
Math.ceil(-1.23);  // -2 
Math.ceil();  // NaN 
Math.ceil('god');  // NaN 
Math.ceil('');  // 0 

▶ 2. Math 프로퍼티

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


ex)

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의 제곱근 값 

 

300x250
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.