JS (29) - Math

최조니·2022년 8월 1일
0

JavaScript

목록 보기
26/36

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

29.1 Math 프로퍼티

Math.PI

원주율 PI값 반환

Math.PI;	// 3.141592653589793

29.2 Math 메서드

1) Math.abs

인수로 전달된 숫자의 절대값 반환

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

2) Math.round

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

Math.round(1.4);	// 1
Math.round(1.6);	// 2
Math.round(-1.4);	// -1
Math.round(-1.6);	// -2
Math.round();		// NaN

3) Math.ceil

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

  • 소수점 이하를 올림하면 더 큰 정수가 됨
Math.round(1.4);	// 2
Math.round(1.6);	// 2
Math.round(-1.4);	// -1
Math.round(-1.6);	// -1
Math.round();		// NaN

4) Math.floor

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

  • Math.ceil 메서드의 반대 개념

  • 소수점 이하를 내림하면 더 작은 정수가 됨

Math.floor(1.4);	// 1
Math.floor(1.6);	// 1
Math.floor(-1.4);	// -2
Math.floor(-1.6);	// -2
Math.floor();		// NaN

5) 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

6) Math.random

임의의 난수(랜덤 숫자) 반환

  • Math.random가 반환한 난수는 0에서 1미만의 실수
    • 0은 포함, 1은 미포함

7) Math.pow

첫 번째 인수를 밑으로, 두 번째 인수를 지수로 거듭제곱한 결과를 반환

Math.pow(2, 8);		// 256
Math.pow(2, -1);	// 0.5
Math.pow(2);		// NaN
  • ES7에서 도입된 지수 연산자를 사용하면 가독성이 좋음
2 ** 2 ** 2; 	// 16

8) Math.max

전달받은 인수 중에서 가장 큰 수를 반환

  • 인수가 전달되지 않으면 -Infinity 반환
Math.max(1);		// 1
Math.max(1, 2);		// 2
Math.max(1, 2, 3);	// 3
Math.max();			// -Infinity
  • 배열을 인수로 전달받아 배열의 요소 중에서 최대값을 구하려면 Function.prototype.apply 또는 스프레트 문법 사용
Math.max.apply(null, [1, 2, 3]);	// 3
Math.max(...[1, 2, 3]);				// 3

9) Math.min

전달받은 인수 중에서 가장 작은 수를 반환

  • 인수가 전달되지 않으면 Infinity 반환
Math.min(1);		// 1
Math.min(1, 2);		// 1
Math.min(1, 2, 3);	// 1
Math.min();			// Infinity
  • 배열을 인수로 전달받아 배열의 요소 중에서 최소값을 구하려면 Function.prototype.apply 또는 스프레트 문법 사용
Math.min.apply(null, [1, 2, 3]);	// 1
Math.min(...[1, 2, 3]);				// 1
profile
Hello zoni-World ! (◍ᐡ₃ᐡ◍)

0개의 댓글