🍎/Javascript

[Javascript] Math λ©”μ„œλ“œ (+속성)

μœ μ €001 2023. 3. 31. 15:21

*MathλŠ” Number μžλ£Œν˜•λ§Œ 지원

 

속성

Math.E

였일러의 μƒμˆ˜ e

μ•½ 2.718

 

Math.LN2

2의 μžμ—°λ‘œκ·Έ ln(2)

μ•½ 0.693

 

Math.LN10

10의 μžμ—°λ‘œκ·Έ ln(10)

μ•½ 2.303

 

Math.PI

π

μ•½ 3.14159

 

 

 

λ©”μ„œλ“œ

Math.abs(x)

x의 μ ˆλŒ“κ°’ λ°˜ν™˜

xκ°€ μ–‘μˆ˜, 0일 경우 x λ°˜ν™˜

xκ°€ 음수일 경우 -x λ°˜ν™˜

Math.abs('-1');     // 1
Math.abs(-2);       // 2
Math.abs(null);     // 0
Math.abs('');       // 0
Math.abs([]);       // 0
Math.abs([2]);      // 2
Math.abs([1,2]);    // NaN
Math.abs({});       // NaN
Math.abs('string'); // NaN
Math.abs();         // NaN

 

Math.sign(x)

x의 λΆ€ν˜Έλ₯Ό λ‚˜νƒ€λ‚΄λŠ” +1 / -1 / 0을 λ°˜ν™˜

Math.sign(3);     //  1
Math.sign(-3);    // -1
Math.sign('-3');  // -1
Math.sign(0);     //  0
Math.sign(-0);    // -0
Math.sign(NaN);   // NaN
Math.sign('foo'); // NaN
Math.sign();      // NaN

 


 

Math.ceil(x)

x보닀 ν¬κ±°λ‚˜ 같은 숫자 쀑 κ°€μž₯ μž‘μ€ 숫자 λ°˜ν™˜ ➑️ 올림

 

Math.ceil(.95);    // 1
Math.ceil(4);      // 4
Math.ceil(7.004);  // 8
Math.ceil(-0.95);  // -0
Math.ceil(-4);     // -4
Math.ceil(-7.004); // -7

 

Math.round(x)

xλ₯Ό λ°˜μ˜¬λ¦Όν•œ μˆ˜μ™€ κ°€μž₯ κ°€κΉŒμš΄ μ •μˆ˜ κ°’ λ°˜ν™˜ βž‘️ λ°˜μ˜¬λ¦Ό

νŒŒλΌλ―Έν„°λ‘œ μž…λ ₯받은 숫자(x)λ₯Ό κΈ°μ€€μœΌλ‘œ μ†Œμˆ˜μ  μ΄ν•˜μ˜ 값이 0.5보닀 ν¬κ±°λ‚˜ κ°™μœΌλ©΄ 올림, 0.5보닀 μž‘μœΌλ©΄ λ‚΄λ¦Όν•˜μ—¬ 계산

Math.round( 20.49); //  20
Math.round( 20.5 ); //  21
Math.round( 42   ); //  42
Math.round(-20.5 ); // -20
Math.round(-20.51); // -21

 

Math.floor(x)

x보닀 κ°™κ±°λ‚˜ μž‘μ€ 숫자 쀑 κ°€μž₯ 큰 수 λ°˜ν™˜ βž‘️ λ²„λ¦Ό

Math.floor( 45.95); //  45
Math.floor( 45.05); //  45
Math.floor(  4   ); //   4
Math.floor(-45.05); // -46
Math.floor(-45.95); // -46

 

Math.trunc(x)

x의 μ†Œμˆ˜μ  μ΄ν•˜ 제거, μ •μˆ˜ λΆ€λΆ„λ§Œ λ°˜ν™˜

Math.trunc(13.37);    // 13
Math.trunc(42.84);    // 42
Math.trunc(0.123);    //  0
Math.trunc(-0.123);   // -0
Math.trunc('-1.123'); // -1
Math.trunc(NaN);      // NaN
Math.trunc('foo');    // NaN
Math.trunc();         // NaN

 


 

Math.max()

μž…λ ₯κ°’μœΌλ‘œ 받은 n개의 숫자 쀑 κ°€μž₯ 큰 숫자 λ°˜ν™˜

Math.max(10, 20);   //  20
Math.max(-10, -20); // -10
Math.max(-10, 20);  //  20

 

Math.min(x)

μž…λ ₯κ°’μœΌλ‘œ 받은 n개의 숫자 쀑 κ°€μž₯ 큰 숫자 λ°˜ν™˜

Math.max(10, 20);   //  20
Math.max(-10, -20); // -10
Math.max(-10, 20);  //  20

 


 

 

Math.random()

0 ≤ x <1 κ΅¬κ°„μ—μ„œ λΆ€λ™μ†Œμˆ˜μ μ˜ λ‚œμˆ˜ 생성

Math.random()

β„ΉοΈλ‚œμˆ˜ μƒμ„±ν•˜κΈ° (λ²”μœ„ μ§€μ •, μ •μˆ˜ λ‚œμˆ˜ 생성)

 


 

Math.pow(x, y)

x에 yλ₯Ό μ œκ³±ν•œ κ°’ x^y을 λ°˜ν™˜

// κ°„λ‹¨ν•œ 예
Math.pow(7, 2);    // 49
Math.pow(7, 3);    // 343
Math.pow(2, 10);   // 1024

// λΆ„μˆ˜ μ§€μˆ˜
Math.pow(4, 0.5);  // 2 (4의 제곱근)
Math.pow(8, 1/3);  // 2 (8의 μ„Έμ œκ³±κ·Ό)
Math.pow(2, 0.5);  // 1.4142135623730951 (2의 제곱근)
Math.pow(2, 1/3);  // 1.2599210498948732 (2의 μ„Έμ œκ³±κ·Ό)

// μ–‘μ˜ μ§€μˆ˜
Math.pow(7, -2);   // 0.02040816326530612 (1/49)
Math.pow(8, -1/3); // 0.5

// μ–‘μ˜ λ°‘
Math.pow(-7, 2);   // 49 (제곱의 결과값은 μ–‘μˆ˜μž…λ‹ˆλ‹€.)
Math.pow(-7, 3);   // -343 (μ„Έμ œκ³±μ€ μŒμˆ˜κ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.)
Math.pow(-7, 0.5); // NaN (μŒμˆ˜λŠ” μ‹€μ œ μ œκ³±κ·Όμ„ κ°€μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.)

// "짝수"와 "ν™€μˆ˜" 근이 μ„œλ‘œ κ°€κΉκ²Œ 놓여 있고
// λΆ€λ™μ†Œμˆ˜μ  μ •λ°€λ„μ˜ ν•œκ³„λ‘œ 인해,
// 밑이 음수이며 μ§€μˆ˜κ°€ λΆ„μˆ˜λΌλ©΄ μ–Έμ œλ‚˜ NaN을 λ°˜ν™˜ν•©λ‹ˆλ‹€.
Math.pow(-7, 1/3); // NaN

 

 

 

Math.sqrt(x)

x의 μ œκ³±κ·Όμ„ λ°˜ν™˜

*λ§Œμ•½ xκ°€ 음수라면 NaN λ°˜ν™˜

Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095

Math.sqrt(1);  // 1
Math.sqrt(0);  // 0
Math.sqrt(-1); // NaN

 

Math.cbrt(x)

x의 μ„Έμ œκ³±κ·Όμ„ λ°˜ν™˜

Math.cbrt(NaN); // NaN
Math.cbrt(-1); // -1
Math.cbrt(-0); // -0
Math.cbrt(-Infinity); // -Infinity
Math.cbrt(0); // 0
Math.cbrt(1); // 1
Math.cbrt(Infinity); // Infinity
Math.cbrt(null); // 0
Math.cbrt(2);  // 1.2599210498948734