Math 메소드

YS_Study.log·2022년 1월 15일
0

Math 메소드

Math 메소드는 수학계산용 메소드, 수학적인 상수와 함수를 위한 속성과 메소드를 가진 내장 객체입니다. 함수 객체가 아닙니다.

Math 메소드는 정적인 프로퍼티와 메소드 만 제공한다.

  • new 연산자로 인스턴스 생성이 불가능하다. (Math, JSON, 글로벌 오브젝트)

Math.abs()

Math.abs()메서드는 주어진 숫자의 절대값을 반환한다. 음수를 양수로 반환한 절대값을 반환한다. 즉 절댓값은 반드시 0 또는 양수이어야 한다.

  • 양수 반환 : 인수가 양수이거나, 인수가 음수라면 양수로 변환하여 반환한다.
  • 0을 반환 : null, 빈 문자열이나, 빈 배열
  • NaN을 반환 : 빈 객체, 하나 이상의 요소를 가진 배열, 숫자가 아닌 문자열, undefined나 빈 변수를 받을 시
Math.abs(3);        // 3  / (양수)
Math.abs(-3);       // 1  / (음수)
Math.abs('-1');     // 1  / (숫자 문자열)
Math.abs([2]);      // 2  / (하나의 숫자요소를 가진 배열)
Math.abs(null);     // 0  / (null)
Math.abs('');       // 0  / ('' 빈 문자열, 공백)
Math.abs([]);       // 0  / ([] 빈 배열)
Math.abs([1,2]);    // NaN  / (하나 이상의 요소를 가진 배열)
Math.abs({});       // NaN  / ()
Math.abs('문자');    // NaN  / (문자가 들어간 문자열)
Math.abs();         // NaN  / ()

Math.max()

Math.max() 메소드는 인수에서 제일 큰 수를 반환합니다.

Math.max(값1, 값2, ... )

  • 파라미터 인자를 전부 숫자로 변환하여 비교한다.
  • NaN이 한개라도 있으면 NaN을 반환한다.
Math.max(40, 20, 30);   //  40
Math.max(-40, -75, -0);  // - 0
Math.max(20, -40, 10);  //  20
Math.max(20, -40, 10, 'a');  //  NaN
Math.max(20, -40, 10, '200'); // 200

Math.min()

Math.min()함수는 인수에서 제일 작은 수를 반환합니다.

Math.min(값 1, 값2, ...)

  • 파라미터 인자를 전부 숫자로 변환하여 비교한다.
  • NaN이 한개라도 있으면 NaN을 반환한다.
Math.nin(40, 20, 30);   //  20
Math.nin(-40, -75, -0);  // -75
Math.nin(20, -40, 10);  //  10

// 활용 : 문자 3개 중 가장 짧은 문자를 구한다면?
function ShortWords(word1, word2, word3) {

let shortNum = Math.min(word1.length, word2.length, word3.length);
if (shortNum === word1.length) {
  return word1;
} else if (shortNum === word2.length){
    return word2;
} else if (shortNum === word3.length){
    return word3;
}
}

Math.round()

Math.round() 함수는 인수의 소수점 이하를 반올림한 정수를 반환한다.

  • 양수이면 → 반올림, 음수이면 → 반내림
Math.round( 10.03); //  10
Math.round( 10.5 ); //  11
Math.round( 10   ); //  10
Math.round(-10.5 ); // -10
Math.round(-10.6 ); // -11
Math.round(-10.2); // - 10

Math.ceil()

Math.ceil() 함수는 인수의 소수점 이하를 올림한 정수를 반환한다.

Math.ceil(1.1); // 2
Math.ceil(1.5); // 5
Math.ceil(1.0); // 1
Math.ceil(-0.08); // -0
Math.ceil(-0.8); // -0
Math.ceil(0);  // 0
Math.ceil(-7); // -7
Math.ceil(-7.29); // -7

Math.floor()

Math.floor() 함수는 인수의 소수점 이하를 내림한(버림) 정수를 반환한다.

  • 소숫점 값이 있고, 음수일 경우 소수점이하를 내림한 수에 -1을 더해 반환한다.
Math.floor(1.99); //  1
Math.floor(1.05); //  1
Math.floor(1); //   1
// 소숫점 값이있고, 음수인경우 내림 후 -1을 더한다.
Math.floor(-1.7); // - 2
Math.floor(-1.0); // -1

Math.pow(x,y)

Math.pow() 함수는 x 의 y 승을 반환합니다.

Math.pow(base, exponent)

  • base (x) : 밑 값.
  • exponent (y) : base의 값을 제곱하기 위해 사용하는 지수.
  • y가 0일때 x가 NaN이면 → 정수 1 을 반환, y가 NaN이면 → NaN를 반환한다.
Math.pow(base, exponent)
Math.pow(10, 2) // 100
Math.pow(10, 0) // 1
// y가 0일때 x가 NaN이면 → 정수 1 을 반환
Math.pow("A", 0) // 1
// y가 NaN이면 → NaN를 반환한다.
Math.pow(0, "A") // NaN
Math.pow(100, "A") // NaN

제곱근을 구하는 방법은 for문, ** 연산자를 사용한 방법도 있다. → 제곱하는 방법


Math.random()

Math.random() 메소드를 실행할 떄마다 0에서 1미만의 난수(랜덤값)를 반환한다.

Math.random() // 0.2193631590805949
Math.random() // 0.19524849437903447

Math.sqrt(x)

인수의 제곱근을 반환한다.만약 x 가 음수라면 Math.sqrt() 함수는 NaN를 반환합니다.

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095
Math.sqrt(1);  // 1
Math.sqrt(0);  // 0
Math.sqrt(-1); // NaN

출처MDN

profile
느리지만 조금씩 공부하는 중 입니다. 현재 1년 6개월차 신입입니다 ><!

0개의 댓글