๐Ÿ—ณ๏ธ Number / Math

Yeonnยท2024๋…„ 4์›” 8์ผ
0

JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
20/23
post-thumbnail

โœจย Number

โ“ย methods

๐Ÿ“ฎ Number ๋ฉ”์„œ๋“œ๋Š” ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค.

โœ”๏ธย Number.isFinite()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž๊ฐ’์ด ์ •์ƒ์ ์ธ ์œ ํ•œ์ˆ˜, ์ฆ‰ Infinity / -Infinity ์ธ์ง€ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
  • ๋งŒ์•ฝ ์ธ์ˆ˜๊ฐ€ NaN์ด๋ฉด ์–ธ์ œ๋‚˜ false๋ฅผ ๋ฐ˜ํ™˜
// Number.isFinite()๋Š” ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•˜์ง€ ์•Š์Œ
Number.isFinite(null); // false

// isFinite()๋Š” ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ํ•œ๋‹ค.
isFinite(null); // true ( null ์„ 0์œผ๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ )

โœ”๏ธย Number.isInteger()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž๊ฐ’์ด ์ •์ˆ˜( integer )์ธ์ง€ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
// ์ธ์ˆ˜๊ฐ€ ์ •์ˆ˜์ผ ๊ฒฝ์šฐ true ๋ฐ˜ํ™˜ 
Number.isInteger(0);        // true
Number.isInteger(-1);       // true
Number.isInteger(0.5);      // false
Number.isInteger('123');    // false
Number.isInteger(Infinity); //false

โœ”๏ธย Number.isNaN()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž๊ฐ’์ด NaN์ธ์ง€ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜
Number.isNaN(NaN);       // true
Number.isNaN(undefined); // false

// isNaN()์€ ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜: undefined๋Š” NaN์œผ๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜
isNaN(undefined);        // true

โœ”๏ธย Number.toFixed()

  • ์ˆซ์ž๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜
  • ๋ฐ˜์˜ฌ๋ฆผํ•˜๋Š” ์†Œ์ˆ˜์  ์ดํ•˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 0 - 20 ์‚ฌ์ด์˜ ์ •์ˆ˜๊ฐ’์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ ๊ฐ€๋Šฅ, ์ƒ๋žต ์‹œ ๊ธฐ๋ณธ๊ฐ’ 0
(12345.6789)toFixed(); // '12345' ( ๊ธฐ๋ณธ๊ฐ’ 0 )
(12345.6789)toFixed(2); // '12345.68 ( ๋ฐ˜์˜ฌ๋ฆผ! )

โœ”๏ธย Number.toString()

  • ์ˆซ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜
(15).toString(); // '15'
(16).toString(); // '10000' : 2์ง„์ˆ˜ ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜

โœจย Math

โ“ย methods

โœ”๏ธย Math.round()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋ฐ˜์˜ฌ๋ฆผํ•œ ์ •์ˆ˜
Math.round(1.4);   // 1
Math.round(1.6);   // 2
Math.round(-1.4);  // -1
Math.round(-1.6);  // -2

โœ”๏ธย Math.ceil()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ์˜ฌ๋ฆผํ•œ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜: ๋” ํฐ ์ •์ˆ˜๋กœ ๋ฐ˜ํ™˜
Math.ceil(1.3);   // 2
Math.ceil(-1.3);  // -1

โœ”๏ธย Math.floor()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž์˜ ์†Œ์ˆ˜์  ์ดํ•˜๋ฅผ ๋‚ด๋ฆผํ•œ ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜( ceil ๋ฐ˜๋Œ€ ! )
Math.floor(1.3);  // 1
Math.floor(-1.3); // -2

โœ”๏ธย Math.sqrt()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ ๋ฐ˜ํ™˜( โˆš )
Math.sqrt(4); // 2 ( โˆš4 ๊ฐ’ ๋ฐ˜ํ™˜ )

โœ”๏ธย Math.random()

  • 0์—์„œ 1 ๋ฏธ๋งŒ์ธ ์ž„์˜์˜ ๋‚œ์ˆ˜( ๋žœ๋ค์ˆซ์ž )๋ฅผ ๋ฐ˜ํ™˜( 0 ํฌํ•จ, 1 ๋ฏธํฌํ•จ )
// 1์—์„œ 10 ์‚ฌ์ด์˜ ๋žœ๋ค ์ˆ˜ ๋ฐ˜ํ™˜ํ•˜๊ธฐ
const random = Math.floor((Math.random() * 10) + 1);

โœ”๏ธย Math.pow()

  • ์ฒซ ๋ฒˆ์งธ ์ธ์ˆ˜๋ฅผ ๋ฐ‘( base )์œผ๋กœ ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๋ฅผ ์ง€์ˆ˜( exponent )๋กœ ๊ฑฐ๋“ญ์ œ๊ณฑํ•œ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
Math.pow(2, 8);  // 256

Math.pow(Math.pow(2, 2), 2); // 16
// ES7 ์ง€์ˆ˜ ์—ฐ์‚ฐ์ž
2 ** 2 ** 2; // 16

โœ”๏ธย Math.max()

  • ์ธ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜ ๋ฐ˜ํ™˜, ์ธ์ˆ˜๊ฐ€ ์—†์„ ๊ฒฝ์šฐ -Infinity ๋ฐ˜ํ™˜

โœ”๏ธย Math.min()

  • ์ธ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ ๋ฐ˜ํ™˜, ์ธ์ˆ˜๊ฐ€ ์—†์„ ๊ฒฝ์šฐ Infinity ๋ฐ˜ํ™˜

โœ”๏ธย Math.abs()

  • ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ˆซ์ž์˜ ์ ˆ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜
  • ์ ˆ๋Œ€๊ฐ’: ๋ฐ˜๋“œ์‹œ 0 ๋˜๋Š” ์–‘์ˆ˜

0๊ฐœ์˜ ๋Œ“๊ธ€