Responsive Advertisement

JavaScript์—์„œ ์ˆ˜ํ•™ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ: Math ๊ฐ์ฒด ์™„๋ฒฝ ๊ฐ€์ด๋“œ

JavaScript์˜ Math ๊ฐ์ฒด๋Š” ์ˆ˜ํ•™์  ๊ณ„์‚ฐ์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ์™€ ์ƒ์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ์ฒด๋Š” ์ˆซ์ž ๊ณ„์‚ฐ, ์ œ๊ณฑ, ๋ฐ˜์˜ฌ๋ฆผ, ์‚ผ๊ฐํ•จ์ˆ˜ ๋“ฑ๊ณผ ๊ฐ™์€ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Math ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ์™€ ๊ทธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

JavaScript Math ๊ฐ์ฒด๋ž€?

JavaScript์—์„œ Math ๊ฐ์ฒด๋Š” ์ „์—ญ ๊ฐ์ฒด๋กœ, ๋ณ„๋„์˜ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜ํ•™ ๊ด€๋ จ ํ•จ์ˆ˜๋“ค์€ ๋ชจ๋‘ Math ๊ฐ์ฒด ๋‚ด์—์„œ ์ œ๊ณต๋˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Math ๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ํŠน์ง•

  • Math๋Š” ๊ฐ์ฒด์ง€๋งŒ, ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”์„œ๋“œ๋Š” ์ •์ (static) ๋ฉ”์„œ๋“œ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”์„œ๋“œ์™€ ์ƒ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Math ๊ฐ์ฒด์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ

JavaScript์—์„œ Math ๊ฐ์ฒด๋Š” ์—ฌ๋Ÿฌ ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๊ฐ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ณ , ๊ทธ ์‚ฌ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. Math.abs() - ์ ˆ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ

Math.abs() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž์˜ ์ ˆ๋Œ€๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์Œ์ˆ˜๋ฅผ ์–‘์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

// ์ ˆ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ
console.log(Math.abs(-10)); // 10
console.log(Math.abs(5)); // 5

2. Math.round() - ๋ฐ˜์˜ฌ๋ฆผ

Math.round() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋กœ ๋ฐ˜์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

// ๋ฐ˜์˜ฌ๋ฆผ
console.log(Math.round(4.7)); // 5
console.log(Math.round(4.4)); // 4

์†Œ์ˆ˜์ ์„ ๊ธฐ์ค€์œผ๋กœ 0.5 ์ด์ƒ์ผ ๋•Œ๋Š” ์˜ฌ๋ฆผ, 0.5 ๋ฏธ๋งŒ์ผ ๋•Œ๋Š” ๋‚ด๋ฆผ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

3. Math.ceil() - ์˜ฌ๋ฆผ

Math.ceil() ๋ฉ”์„œ๋“œ๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฌด์กฐ๊ฑด ์˜ฌ๋ฆผํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ์˜ฌ๋ฆผ
console.log(Math.ceil(4.1)); // 5
console.log(Math.ceil(7.9)); // 8

์ด ๋ฉ”์„œ๋“œ๋Š” ํ•ญ์ƒ ์†Œ์ˆ˜์ ์„ ์˜ฌ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ’์ด ์–ผ๋งˆ๋“ ์ง€ ๋ฌด์กฐ๊ฑด ์ •์ˆ˜๋กœ ์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค.

4. Math.floor() - ๋‚ด๋ฆผ

Math.floor() ๋ฉ”์„œ๋“œ๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฒ„๋ฆฌ๊ณ , ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ๋‚ด๋ฆผ
console.log(Math.floor(4.9)); // 4
console.log(Math.floor(7.1)); // 7

์ด ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž์˜ ์†Œ์ˆ˜์ ์„ ๋ฒ„๋ฆฌ๊ณ  ์ •์ˆ˜๋งŒ ๋‚จ๊น๋‹ˆ๋‹ค.

5. Math.max()์™€ Math.min() - ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ

Math.max()์™€ Math.min() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž๋“ค ์ค‘์—์„œ ๊ฐ๊ฐ ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ์ตœ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ
console.log(Math.max(1, 5, 3, 9, 2)); // 9

// ์ตœ์†Œ๊ฐ’ ๊ตฌํ•˜๊ธฐ
console.log(Math.min(1, 5, 3, 9, 2)); // 1

์ด ๋ฉ”์„œ๋“œ๋Š” ์—ฌ๋Ÿฌ ์ˆซ์ž ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ์ž‘์€ ๊ฐ’์„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

6. Math.pow() - ์ œ๊ณฑ ๊ตฌํ•˜๊ธฐ

Math.pow() ๋ฉ”์„œ๋“œ๋Š” ์ฒซ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋‘ ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒํผ ์ œ๊ณฑํ•œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ์ œ๊ณฑ ๊ณ„์‚ฐ
console.log(Math.pow(2, 3)); // 8 (2^3)
console.log(Math.pow(5, 2)); // 25 (5^2)

์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๋‹จํžˆ ์ œ๊ณฑ ๊ณ„์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

7. Math.sqrt() - ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๊ธฐ

Math.sqrt() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ์ œ๊ณฑ๊ทผ ๊ณ„์‚ฐ
console.log(Math.sqrt(16)); // 4
console.log(Math.sqrt(25)); // 5

์ œ๊ณฑ๊ทผ์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

8. Math.random() - ๋‚œ์ˆ˜ ์ƒ์„ฑํ•˜๊ธฐ

Math.random() ๋ฉ”์„œ๋“œ๋Š” 0(ํฌํ•จ)๊ณผ 1(์ œ์™ธ) ์‚ฌ์ด์˜ ๋‚œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ๋‚œ์ˆ˜ ์ƒ์„ฑ
console.log(Math.random()); // 0๊ณผ 1 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜

์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›ํ•˜๋Š” ๋ฒ”์œ„์˜ ๋‚œ์ˆ˜๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๊ณฑ์…ˆ๊ณผ ๋”ํ•˜๊ธฐ๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

// 0๊ณผ 100 ์‚ฌ์ด์˜ ๋‚œ์ˆ˜ ์ƒ์„ฑ
const randomNum = Math.random() * 100;
console.log(randomNum);

9. Math.trunc() - ์†Œ์ˆ˜์  ์ดํ•˜ ๋ฒ„๋ฆฌ๊ธฐ

Math.trunc() ๋ฉ”์„œ๋“œ๋Š” ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฌด์‹œํ•˜๊ณ , ์ •์ˆ˜ ๋ถ€๋ถ„๋งŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// ์†Œ์ˆ˜์  ์ดํ•˜ ๋ฒ„๋ฆฌ๊ธฐ
console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(-5.1)); // -5

์ด ๋ฉ”์„œ๋“œ๋Š” ์†Œ์ˆ˜์ ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ •์ˆ˜๋งŒ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

Math ๊ฐ์ฒด์˜ ์ฃผ์š” ์ƒ์ˆ˜

JavaScript์˜ Math ๊ฐ์ฒด๋Š” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ˆ˜ํ•™ ์ƒ์ˆ˜๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • Math.PI: ์›์ฃผ์œจ(ฯ€)์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค (์•ฝ 3.14159).
  • Math.E: ์ž์—ฐ๋กœ๊ทธ์˜ ๋ฐ‘์ˆ˜(์•ฝ 2.718)๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • Math.LN2: 2์˜ ์ž์—ฐ๋กœ๊ทธ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค (์•ฝ 0.693).
  • Math.LN10: 10์˜ ์ž์—ฐ๋กœ๊ทธ ๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค (์•ฝ 2.302).
  • Math.SQRT2: 2์˜ ์ œ๊ณฑ๊ทผ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค (์•ฝ 1.414).
// Math ์ƒ์ˆ˜ ์‚ฌ์šฉ
console.log(Math.PI); // 3.141592653589793
console.log(Math.E);  // 2.718281828459045

๊ฒฐ๋ก 

JavaScript์˜ Math ๊ฐ์ฒด๋Š” ๋‹ค์–‘ํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ ˆ๋Œ€๊ฐ’, ๋ฐ˜์˜ฌ๋ฆผ, ์ œ๊ณฑ๊ทผ, ๋‚œ์ˆ˜ ์ƒ์„ฑ ๋“ฑ ์ˆ˜ํ•™์  ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒ์ˆ˜์™€ ํ•จ๊ป˜ ๋”์šฑ ์ •๊ตํ•œ ๊ณ„์‚ฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Math ๊ฐ์ฒด์˜ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ๋ณต์žกํ•œ ์ˆ˜ํ•™ ์—ฐ์‚ฐ์„ ์†์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•ด๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ