1. Math๊ฐ์ฒด
Math๊ฐ์ฒด๋ ์ํ์์ ์์ฃผ ์ฌ์ฉ๋๋ ์์์ ํจ์๋ค์ ๊ตฌํํด๋์ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์ค ๋ด์ฅ ๊ฐ์ฒด์ด๋ค.
1-2. Math๊ฐ์ฒด ํน์ง
- Math๊ฐ์ฒด๋ Number ์๋ฃํ๋ง ์ง์ํ๋ฉฐ BigInt์๋ ์ฌ์ฉํ ์ ์๋ค.
- (BigInt : Number๋ณด๋ค ํฐ ์ ์๋ฅผ ํํํ ์ ์๋ ๋ด์ฅ๊ฐ์ฒด)
- constrctor(์์ฑ์)๊ฐ ์๋ค
- instance๋ฅผ ์์ฑํ์ง ์๊ณ ๋ฐ๋ก Math๊ฐ์ฒด์ ๋ชจ๋ ๋ฉ์๋์ ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
2. ๋ํ์ Math ๋ฉ์๋์ ์์
2-1. Math.floor(num) โก๏ธ Number
์ธ์์ ์์์ ์ดํ๋ฅผ ๋ด๋ฆผํ์ฌ ์ ์๋ฅผ ๋ฐํ
์์์ผ ๊ฒฝ์ฐ ์์์ ์ดํ๋ฅผ ๋ด๋ฆผํ ํ -1 ํ ์ ์๋ฅผ ๋ฐํ
Math.floor(1.6); //1
Math.floor(1.2); //1
Math.floor(-1.6); //-2
Math.floor(0); //0
Math.floor(2.99999999); //2
2-2. Math.ceil(num) โก๏ธ Number
์ธ์์ ์์์ ์ดํ๋ฅผ ์ฌ๋ฆผ ํ์ฌ ์ ์๋ฅผ ๋ฐํ
Math.ceil(1.6); //2
Math.ceil(1.2); //2
Math.ceil(-1.6); //-1
Math.ceil(0); //0
Math.ceil(2.99999999); //3
2-3. Math.round(num) โก๏ธ Number
์ธ์์ ์์์ ์ดํ๋ฅผ ๋ฐ์ฌ๋ฆผํ์ฌ ์ ์๋ฅผ ๋ฐํ
Math.round(1.6); //2
Math.round(1.2); //1
Math.round(-1.6); //-2
Math.round(0); //0
Math.round(2.99999999); //2
2-4. Math.abs(num) โก๏ธ Number
์ธ์์ ์ ๋๊ฐ์ ๋ฐํ
Math.abs(1); //1
Math.abs(-1); //1
Math.abs('1'); //1
Math.abs(); //NaN
Math.abs(null); //0
Math.abs(undefined); //Nan
2-5. Math.random() โก๏ธ Number
0๊ณผ 1 ์ฌ์ด์ ๋์๋ฅผ ๋ฐํ
(0์ ํฌํจ 1์ ๋ฏธํฌํจ)
Math.random(); //0.8662034456576044 (0๊ณผ 1์ฌ์ด์ ๋๋คํ ๋ถ๋์์)
Math.random(1); //0.6471757091760314 (0๊ณผ 1์ฌ์ด์ ๋๋คํ ๋ถ๋์์)
Math.random() * 10 //7.098765947852081
2-6. Math.max(...num) โก๏ธ Number
0๊ฐ ์ด์์ ์ธ์์์ ์ ์ผ ํฐ ์๋ฅผ ๋ฐํ
Math.max(1,2,3) //3
// ๋ฐฐ์ด์ ์ง์ ์ ์ผ๋ก ๋ฃ์ด ์คํํ๋ฉด NaN๊ฐ ๋ฐํ๋จ
Math.max([2,1,4]) //NaN
// ๋ฐ๋ก ๋ฐฐ์ด์ ๋ณ์๋ก ์ ์ธํ ์ธ์๋ก ๋ฐ์์ผํจ
let arr = [2,1,4];
Math.max(...arr); //4
2-7. Math.min(...num) โก๏ธ Number
0๊ฐ ์ด์์ ์ธ์์์ ์ ์ผ ์์ ์๋ฅผ ๋ฐํ
Math.min(1,2,3) //1
// ๋ฐฐ์ด์ ์ง์ ์ ์ผ๋ก ๋ฃ์ด ์คํํ๋ฉด NaN๊ฐ ๋ฐํ๋จ
Math.min([2,1,4]) //NaN
// ๋ฐ๋ก ๋ฐฐ์ด์ ๋ณ์๋ก ์ ์ธํ ์ธ์๋ก ๋ฐ์์ผํจ
let arr = [2,1,4];
Math.min(...arr); //1
2-8. Math.sqrt(num) โก๏ธ Number
์ธ์์ ์ ๊ณฑ๊ทผ์ ๋ฐํ
Math.sqrt(121); //11
Math.sqrt(-121); //NaN
Math.sqrt(3); //1.7320508075688772
Math.sqrt(1); //1
Math.sqrt(0); //0
Math.sqrt(); //NaN
2-9. Math.pow(num1, num2) โก๏ธ Number
num1์ num2 ์ ๊ณฑ๊ทผ์ ๋ฐํ
Math.pow(2, 3); //8 = 2 ** 3
Math.pow(1, 3); //1 = 1 ** 3
Math.pow(-2, 3); //-8 = -2 **3
์ด์ธ์๋ ๋ค์ํ Math ๋ฉ์๋๋ค์ด ์ฌ์ฉ๋๊ณ ์๋ค.
Math.log(num)์ ๊ฐ์ด ๋ก๊ทธ๊ฐ์ ๋ฐํํ๊ฑฐ๋
Math.sin(num), Math.tan(num) ๊ณผ ๊ฐ์ด ์ฌ์ธ์ด๋ ํ์ ํธ ๊ฐ์ ์ผ๊ฐํจ์๊ฐ์ ๋ฐํํ๋ค.
๋ ์์ธํ ๋ฉ์๋๋ค์ ๋ณด๊ณ ์ถ์ผ๋ฉด ์๋ ๋งํฌ๋ก ํ๊ณ ๋ค์ด๊ฐ๋ฉด ์ ์ ์๋คโฌ
3. Math ๋ฉ์๋๋ฅผ ํ์ฉํ ๋ก๋๋ฒํธ ์ถ์ถ๊ธฐ
์ด๋ฒ ์ฃผ ๋ก๋๋ฒํธ๋ ๋ฐ๋ก ๋๋ค!!!!!!!
๋งค์ฃผ 6๊ฐ์ ๋ฒํธ๋ฅผ ํตํด ๋น์ฒจ๋๋ ๋ก๋๋ฒํธ!
Math๋ฉ์๋๋ฅผ ํตํด ์๋์ผ๋ก ์ถ์ถ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค์ด๋ณด์.
make num ์ด์ฉ๊ณ ๋ฒํผ์ ๋๋ฅด๋ฉด 6๊ฐ์ ๋ฒํธ๊ฐ ๋๋ค์ผ๋ก ๋ฌ๋ค.
See the Pen Untitled by hong (@hong99cone) on CodePen.
// ๋ก๋ ๋๋ฒ๋ฅผ ๋ฝ๋ ๋ถ๋ถ
// Math.random ์ผ๋ก 0-1์ฌ์ด์ ๋ถ๋์์๋ฅผ ๋๋ค์ผ๋ก ๋ฝ๊ณ
// * 45๋ก 0 ~45 ๋ฏธ๋ง ์์์ ์ ๊ฐ์ง ์ซ์๊ฐ ๋์ค๊ฒ ํด์ค
// ๋ก๋์ซ์์๋ 0์ด ์์ผ๋ฏ๋ก +1๋ฅผ ํด์ค 1-45 ๋ฒ์์ ์ซ์๊ฐ ๋์ด
// Math.floor๋ก ์ฌ๋ฆผ์์ด ์์์ ์ ์ ๋ถ๋ฒ๋ฆฌ๊ณ ์ ์๋ก ๋ณํํจ
let lottoNum = Math.floor((Math.random() * 45) + 1);
๋ก๋ ์ซ์๋ฅผ ๋ฝ๋ ๋ค๋ฅธ ๋ถ๋ถ์ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ๋ก ํฌ์คํ ํ ์์ ์ด๋ค.
๋๋ค ๋ฝ๊ธฐ ์ด๋ฒคํธ๋ฅผ ํ๋ ์ฌ์ดํธ ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค ๋ ์ ์ฉํ๊ฒ ์ฐ์ผ Math ๋ฉ์๋๋ค์ ํ์ฉํด๋ดค๋ค.
Reference(์ฐธ์กฐ)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math
https://www.tcpschool.com/javascript/js_standard_math