์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Gatsby
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก ํธ์๋
- Props
- ๋ธ๋ก๊ทธ
- CSS
- REACT
- useEffect
- float
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝ๋ฉํ ์คํธ
- Flex
- history api
- ์๊ณ ๋ฆฌ์ฆ
- position
- ๋ฐ๋ธ์ฝ์ค
- useRef
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- fetch API
- Today
- Total
Daehyunii's Dev-blog
28์ฅ Number ๋ณธ๋ฌธ
28์ฅ Number
Daehyunii 2022. 7. 27. 19:38ํ์ค ๋นํธ์ธ ๊ฐ์ฒด์ธ Number๋ ์์ ํ์ ์ธ ์ซ์๋ฅผ ๋ค๋ฃฐ ๋ ์ ์ฉํ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ๊ณตํ๋ค
28.1 Number ์์ฑ์ ํจ์
ํ์ค ๋นํธ์ธ ๊ฐ์ฒด์ธ Number ๊ฐ์ฒด๋ ์์ฑ์ ํจ์ ๊ฐ์ฒด๋ค. ๋ฐ๋ผ์ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ์ฌ Number ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ค. Number ์์ฑ์ ํจ์์ ์ธ์๋ฅผ ์ ๋ฌํ์ง ์๊ณ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ๋ฉด [[Numberdata]] ๋ด๋ถ ์ฌ๋กฏ์ 0์ ํ ๋นํ Number ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
const numObj = new Number();
console.log(numObj); //Number {0}
Number ์์ฑ์ ํจ์์ ์ธ์๋ก ์ซ์๋ฅผ ์ ๋ฌํ๋ฉด์ new ์ฐ์ฐ์์ ํจ๊ป ํธ์ถํ๋ฉด [[Numberdata]] ๋ด๋ถ ์ฌ๋กฏ์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ์ซ์๋ฅผ ํ ๋นํ Number ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
const numObj = new Number(10);
console.log(numObj); //Number {10}
Number ์์ฑ์ ํจ์์ ์ธ์๋ก ์ซ์๊ฐ ์๋ ๊ฐ์ ์ ๋ฌํ๋ฉด ์ธ์๋ฅผ ์ซ์๋ก ๊ฐ์ ๋ณํํ ํ, [[Numberdata]] ๋ด๋ถ ์ฌ๋กฏ์ ๋ณํ๋ ์ซ์๋ฅผ ํ ๋นํ Number ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ์ธ์๋ฅผ ์ซ์๋ก ๋ณํํ ์ ์๋ค๋ฉด NaN์ [[Numberdata]] ๋ด๋ถ ์ฌ๋กฏ ํ ๋นํ Number ๋ํผ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค.
๋ง์ฝ new ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Number ์์ฑ์ ํจ์๋ฅผ ํธ์ถํ๋ฉด Number ์ธ์คํด์ค๊ฐ ์๋ ์ซ์๋ฅผ ๋ฐํํ๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ช ์์ ์ผ๋ก ํ์ ์ ๋ณํํ๊ธฐ๋ ํ๋ค.
console.log(Number('0')); // 0
console.log(Number('-1')); // -1
console.log(Number('10.53')); // 10.53
console.log(Number(true)); // 1
console.log(Number(false)); // 0
28.3 Number ๋ฉ์๋
1) Number.isFinite
์ธ์๋ก ์ ๋ฌ๋ ์ซ์๊ฐ์ด ์ ์์ ์ธ ์ ํ์์ธ์ง ๊ฒ์ฌํ์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ
์ ๋ฌ๋ฐ์ ์ธ์๋ฅผ ์ซ์๋ก ์๋ฌต์ ํ์ ๋ณํํ์ง ์์
2) Number.isInteger
์ธ์๋ก ์ ๋ฌ๋ ์ซ์๊ฐ์ด ์ ์์ธ์ง ๊ฒ์ฌํ์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ
์ ๋ฌ๋ฐ์ ์ธ์๋ฅผ ์ซ์๋ก ์๋ฌต์ ํ์ ๋ณํํ์ง ์์
3) Number.isNaN
์ธ์๋ก ์ ๋ฌ๋ ์ซ์๊ฐ์ด NaN์ธ์ง ๊ฒ์ฌํ์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ
์ ๋ฌ๋ฐ์ ์ธ์๋ฅผ ์ซ์๋ก ์๋ฌต์ ํ์ ๋ณํํ์ง ์์
4) Number.isSafeInteger
์ธ์๋ก ์ ๋ฌ๋ ์ซ์๊ฐ์ด ์์ ํ ์ ์์ธ์ง ๊ฒ์ฌํ์ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ(253~ -1์ฌ์ด์ ์ ์๊ฐ)
์ ๋ฌ๋ฐ์ ์ธ์๋ฅผ ์ซ์๋ก ์๋ฌต์ ํ์ ๋ณํํ์ง ์์
5) Number.prototype.toExponential
์ซ์๋ฅผ ์ง์ ํ๊ธฐ๋ฒ์ผ๋ก ๋ณํํ์ฌ ๋ฌธ์์ด๋ก ๋ฐํ
6) Number.prototype.toFixed
์ซ์๋ฅผ ๋ฐ์ฌ๋ฆผํ์ฌ ๋ฌธ์์ด๋ก ๋ฐํ
์ธ์ ์๋ต์ ๊ธฐ๋ณธ๊ฐ 0 ์ง์
7) Number.prototype.toPrecision
์ธ์๋ก ์ ๋ฌ๋ฐ์ ์ ์ฒด ์๋ฆฟ์๊น์ง ์ ํจํ๋๋ก ๋๋จธ์ง ์๋ฆฟ์๋ฅผ ๋ฐ์ฌ๋ฆผํ์ฌ ๋ฌธ์์ด๋ก ๋ฐํ
์ธ์ ์๋ต์ ๊ธฐ๋ณธ๊ฐ 0 ์ง์
8) Number.prototype.toString
์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํ
์ง๋ฒ์ ๋ํ๋ด๋ 2~36 ์ฌ์ด์ ์ ์๊ฐ์ ์ธ์๋ก ์ ๋ฌ ๊ฐ๋ฅ
์ธ์ ์๋ต์ ๊ธฐ๋ณธ๊ฐ 10์ง๋ฒ ์ง์
'๐ Language & CS knowledge > JavaScript (๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ Deep Dive)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
34์ฅ ์ดํฐ๋ฌ๋ธ (0) | 2022.07.27 |
---|---|
32์ฅ String (0) | 2022.07.27 |
27์ฅ ๋ฐฐ์ด (0) | 2022.07.27 |
26์ฅ ES6 ํจ์์ ์ถ๊ฐ ๊ธฐ๋ฅ (0) | 2022.07.26 |
25์ฅ ํด๋์ค (0) | 2022.07.26 |