๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋…์„œ ๋ชฉ๋ก/๋ชจ๋”ฅ๋‹ค Modern JS Deep Dive

[๋ชจ๋”ฅ๋‹ค] 28์žฅ Number

728x90

๐ŸฆŠ 28.1 Number ์ƒ์„ฑ์ž ํ•จ์ˆ˜

 

Number ๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜๋ผ์„œ new ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

new Number() <-  ์•ˆ์— ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์„ ํ• ๋‹นํ•˜๋ฉด ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜ํ•œ๋‹ค.

๋ณ€ํ™˜ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด NaN

new ์—ฐ์‚ฐ์ž ์—†์ด Number ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

 

 

 

๐ŸฆŠ 28.2 Number ํ”„๋กœํผํ‹ฐ

 

28.2.1 Number.EPSLION

๋ถ€๋™์†Œ์ˆ˜์ ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค์ฐจ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ. 

function isEqual (a, b) {
	return Math.abs(a-b) < Number.EPSILON;
    }

์ฐจ์˜ ์ ˆ๋Œ€๊ฐ’์ด EPSILON ๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ฐ™์€ ์ˆ˜๋กœ ์ธ์ •ํ•˜๋Š” ํ•จ์ˆ˜. 

 

 

28.2.8 Number.NaN

Number.NaN ์€ window.NaN ๊ณผ ๊ฐ™๋‹ค.

 

 

 

 

 

๐ŸฆŠ 28.3 Number ๋ฉ”์„œ๋“œ

 

28.3.1 Number.isFinite

Number.inFinite ๋ฉ”์„œ๋“œ์™€ ๋นŒํŠธ์ธ ์ „์—ญ ํ•จ์ˆ˜ isFinite ์˜ ์ฐจ์ด์ 

 

 

 

28.3.3 Number.isNaN

์ „๋‹ฌ๋ฐ›์€ ์ธ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ์•”๋ฌต์  ํƒ€์ž… ๋ณ€ํ™˜ํ•˜์ง€ โœ–๏ธ

 

28.3.5 Number.prototype.toExponential

์ˆซ์ž๋ฅผ ์ง€์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ -> ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜

 

(77.1234).toExponential(); //"7.71234e+1"

์ •์ˆ˜๋ฅผ ๊ทธ๋ƒฅ ์“ฐ๋ฉด ์•ˆ๋จ. (์˜๋ฏธ๊ฐ€ ๋ชจํ˜ธํ•˜๊ธฐ ๋•Œ๋ฌธ. JS ๋Š” ์ˆซ์ž ๋’ค์˜ . ๋ฅผ ์†Œ์ˆ˜์ ์œผ๋กœ ํ•ด์„ํ•œ๋‹ค.

() ๋ฅผ ํ•จ๊ป˜ ์“ฐ๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•จ. 

 

 

28.3.5 Number.prototype.toFixed(์›ํ•˜๋Š” ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜)

 

์ˆซ์ž๋ฅผ ๋ฐ˜์˜ฌ๋ฆผ -> ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜

 

 

728x90
๋ฐ˜์‘ํ˜•