본문 바로가기
개발공부_Blog/JavaScript

Math프로퍼티, 메서드(abs, around, ceil, floor, random, max, min)

by 독서개발자 2022. 11. 7.

Math는 수학적인 상수,함수를 위한 프로퍼티와 메서드를 제공한다.

 

Math프로퍼티

Math.PI

원주율값을 반환한다

Math.PI
// 3.141592653589793

 

Math메서드 

Math.abs

인수로 전달된 숫자의 절대값을 반환한다. 

Math.abs(-223)
// 223

 

Math.around

인수로 전달된 숫자의 소수점 이하를 반올림한 정수를 반환

Math.round(1.4)	// 1
Math.round(1.7)	// 2
Math.round(-1.4) // -1
Math.round(-1.7) // -2

 

Math.ceil

인수로 전달된 숫자의 소수점 이하를 올림한 정수를 반환

 

Math.floor

인수로 전달된 숫자의 소수점 이하를 내림한 정수를 반환

// ceil 올림
Math.ceil(1.4)	// 2
Math.ceil(-1.4)	// -1

// floor 내림
Math.floor(1.4)	// 1
Math.floor(-1.4) // -2

 

Math.random

임의의 난수(랜덤숫자)를 반환한다.

난수는 0에서 1미만의 실수다. 그러므로 0은 포함되지만 1은 포함되지 않는다.

 

1에서 10까지의 랜덤 정수를 출력하기 위해서는

Math.random()
// 0.21849166785483143

Math.random()*10 
// 2.1849166785483143

(Math.random()*10)+1
// Math.random가 출력하는 난수는 0과 1미만의 정수이기 때문에 
// 1-10이 되기 위해서는 +1을 해줘야한다.
// 3.1849166785483143

Math.floor((Math.random()*10)+1)
// 뒤의 소수점을 버린다 floor
// 3

 

 

Math.max, Math.min

전달받은 인수 중에서 가장 큰 수(max)와 작은수(min)를 반환

 

배열을 인수로 전달받아 최대값을 구하려면

1) 스프레드 문법을 사용해 배열의 내용을 펼쳐서 Math.max(min)가 적용이 되어야 한다. 

2) apply()함수를 사용한다

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

// 배열 요소에서 최대값을 구하려면 스프레드 문법 or apply()함수 사용
Math.max([1,2,3,4]) // NaN
Math.max(...[1,2,3,4]) // 4
Maht.max.apply(null,[1,2,3,4]) // 4

Function.prototype.apply()  https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

원문 : this값과 배열로 제공되는 argument로 함수를 호출한다.

온전하게 이해할 수는 없지만 내 생각으로는....

[ 1,2,3,4 ] 배열 안의 값!! 1,2,3,4 이 값으로 max()함수를 호출하게 하는 게 아닐까 생각한다. 

deepdive의 this편을 허술하게 봤더니. 좀 헷갈린다.ㅋ 이부분도 다음번에 더 확실하게!

 

 

 

 

댓글