JavaScript์์ ์ซ์(Number)๋ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ๋ ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํ์
์ค ํ๋์
๋๋ค. JavaScript๋ ๋ชจ๋ ์ซ์๋ฅผ ํ๋์ ๋ฐ์ดํฐ ํ์
์ธ Number
๋ก ์ฒ๋ฆฌํ๋ฉฐ, ์ ์์ ๋ถ๋์์์ ์ซ์ ๋ชจ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ค๋ฃน๋๋ค. ์ด ๊ธ์์๋ JavaScript์์ ์ซ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ค์ํ ์ซ์ ๊ด๋ จ ๋ฉ์๋์ ๊ธฐ๋ฅ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
JavaScript์์ ์ซ์๋?
JavaScript์์ ์ซ์๋ ์ ์์ ์ค์๋ฅผ ๋ชจ๋ ํฌํจํ๋ ๋ฐ์ดํฐ ํ์
์
๋๋ค. ์ ์, ์์, ์์ ๋ฑ์ ๋ค๋ฃจ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, Number
๋ฐ์ดํฐ ํ์
์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
let num1 = 42; // ์ ์
let num2 = 3.14; // ์ค์ (๋ถ๋์์์ )
let num3 = -100; // ์์
์ซ์๋ ์ฌ์น์ฐ์ฐ, ๋น๊ต ์ฐ์ฐ, ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ์ํ์ ์์ ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์ซ์ ์ฒ๋ฆฌ ๋ฉ์๋
JavaScript๋ ์ซ์๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ๋ค์ํ ๋ฉ์๋์ ๋ด์ฅ ๊ฐ์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ๋ฉ์๋๋ฅผ ํ์ฉํ๋ฉด ์ซ์๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
1. toString()
: ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ
toString()
๋ฉ์๋๋ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํฉ๋๋ค. ์ซ์๋ฅผ ๋ค๋ฅธ ์ง๋ฒ์ผ๋ก ํํํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
let num = 42;
let str = num.toString();
console.log(str); // ๊ฒฐ๊ณผ: "42"
let binary = num.toString(2);
console.log(binary); // ๊ฒฐ๊ณผ: "101010" (2์ง์)
2. toFixed()
: ์์์ ์๋ฆฟ์ ์ง์
toFixed()
๋ฉ์๋๋ ์ซ์์ ์์์ ์๋ฆฟ์๋ฅผ ์ง์ ํ ๊ฐ๋งํผ ๋ฐํํฉ๋๋ค. ์ด๋ ๊ธ์ต ๊ณ์ฐ์ด๋ ์์์ ์ฒ๋ฆฌ๊ฐ ์ค์ํ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
let num = 3.14159;
console.log(num.toFixed(2)); // ๊ฒฐ๊ณผ: "3.14"
console.log(num.toFixed(4)); // ๊ฒฐ๊ณผ: "3.1416"
3. toPrecision()
: ์ ์ฒด ์๋ฆฟ์ ์ง์
toPrecision()
๋ฉ์๋๋ ์ซ์๋ฅผ ์ง์ ํ ์ ์ฒด ์๋ฆฟ์๋ก ํ์ํฉ๋๋ค. ๊ณผํ์ ํ๊ธฐ๋ฒ์ผ๋ก ํํํ ์๋ ์์ต๋๋ค.
let num = 123.456;
console.log(num.toPrecision(4)); // ๊ฒฐ๊ณผ: "123.5"
console.log(num.toPrecision(2)); // ๊ฒฐ๊ณผ: "1.2e+2" (๊ณผํ์ ํ๊ธฐ๋ฒ)
4. Number()
์ parseInt()
, parseFloat()
Number()
ํจ์๋ ๋ฌธ์์ด์ด๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ ์ซ์๋ก ๋ณํํฉ๋๋ค. parseInt()
์ parseFloat()
๋ ๋ฌธ์์ด์ ๊ฐ๊ฐ ์ ์์ ์ค์๋ก ๋ณํํฉ๋๋ค.
let str = "42";
console.log(Number(str)); // ๊ฒฐ๊ณผ: 42
let floatStr = "3.14";
console.log(parseFloat(floatStr)); // ๊ฒฐ๊ณผ: 3.14
let intStr = "100px";
console.log(parseInt(intStr)); // ๊ฒฐ๊ณผ: 100
5. isNaN()
: ๊ฐ์ด ์ซ์์ธ์ง ํ์ธ
isNaN()
ํจ์๋ ๊ฐ์ด ์ซ์๊ฐ ์๋ ๊ฐ(Not-a-Number)์ธ์ง ํ์ธํฉ๋๋ค. ์ซ์๊ฐ ์๋ ๊ฐ์ด๋ผ๋ฉด true
๋ฅผ, ์ซ์๋ผ๋ฉด false
๋ฅผ ๋ฐํํฉ๋๋ค.
let value = "Hello";
console.log(isNaN(value)); // ๊ฒฐ๊ณผ: true
let num = 42;
console.log(isNaN(num)); // ๊ฒฐ๊ณผ: false
JavaScript์ ์ซ์ ์์
JavaScript๋ ์ซ์๋ฅผ ๋ค๋ฃฐ ๋ ์ ์ฉํ ๋ช ๊ฐ์ง ์์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ์์๋ค์ ์ํ์ ๊ณ์ฐ์์ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.
Number.MAX_VALUE
: JavaScript์์ ํํํ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์Number.MIN_VALUE
: JavaScript์์ ํํํ ์ ์๋ ๊ฐ์ฅ ์์ ์ซ์(0์ ๊ฐ์ฅ ๊ฐ๊น์ด ์์)Number.POSITIVE_INFINITY
: ์์ ๋ฌดํ๋Number.NEGATIVE_INFINITY
: ์์ ๋ฌดํ๋Number.NaN
: Not-a-Number (์ซ์๊ฐ ์๋์ ๋ํ๋)
console.log(Number.MAX_VALUE); // ๊ฒฐ๊ณผ: 1.7976931348623157e+308
console.log(Number.POSITIVE_INFINITY); // ๊ฒฐ๊ณผ: Infinity
Math ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ซ์ ์ฒ๋ฆฌ
JavaScript์ Math
๊ฐ์ฒด๋ ์ํ์ ๊ณ์ฐ์ ์ํ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์ํ์ ์์
๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
1. Math.round()
: ๋ฐ์ฌ๋ฆผ
Math.round()
๋ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์๋ก ๋ฐ์ฌ๋ฆผํฉ๋๋ค.
let num = 4.7;
console.log(Math.round(num)); // ๊ฒฐ๊ณผ: 5
let num2 = 4.3;
console.log(Math.round(num2)); // ๊ฒฐ๊ณผ: 4
2. Math.ceil()
์ Math.floor()
: ์ฌ๋ฆผ๊ณผ ๋ด๋ฆผ
Math.ceil()
์ ์์์ ์ดํ ๊ฐ์ ์ฌ๋ ค์ ์ ์๋ฅผ ๋ฐํํ๊ณ , Math.floor()
๋ ์์์ ์ดํ ๊ฐ์ ๋ด๋ฆฝ๋๋ค.
let num = 4.3;
console.log(Math.ceil(num)); // ๊ฒฐ๊ณผ: 5
console.log(Math.floor(num)); // ๊ฒฐ๊ณผ: 4
3. Math.random()
: ๋ฌด์์ ์ซ์ ์์ฑ
Math.random()
๋ฉ์๋๋ 0 ์ด์ 1 ๋ฏธ๋ง์ ๋ฌด์์ ์์๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ๋์ ์์ฑ์ด ๊ฐ๋ฅํฉ๋๋ค.
let randomNum = Math.random();
console.log(randomNum); // ์: 0.123456789
๋ฌด์์ ์ ์๋ฅผ ์ป๊ธฐ ์ํด์๋ Math.floor()
๋๋ Math.ceil()
๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
let randomInt = Math.floor(Math.random() * 10); // 0์์ 9 ์ฌ์ด์ ์ ์
console.log(randomInt);
4. Math.max()
์ Math.min()
: ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ์ฐพ๊ธฐ
Math.max()
๋ ์ฃผ์ด์ง ์ซ์ ์ค ์ต๋๊ฐ์ ๋ฐํํ๊ณ , Math.min()
์ ์ต์๊ฐ์ ๋ฐํํฉ๋๋ค.
let max = Math.max(10, 20, 30, 40);
console.log(max); // ๊ฒฐ๊ณผ: 40
let min = Math.min(10, 20, 30, 40);
console.log(min); // ๊ฒฐ๊ณผ: 10
๊ฒฐ๋ก
JavaScript์์ ์ซ์๋ ๋งค์ฐ ์ค์ํ ๋ฐ์ดํฐ ํ์
์ด๋ฉฐ, ๋ค์ํ ์ซ์ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ๊ณผ ๋ด์ฅ ๋ฉ์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. Number
๊ฐ์ฒด์ Math
๊ฐ์ฒด๋ฅผ ํ์ฉํ๋ฉด ์ซ์๋ฅผ ๋ณํํ๊ฑฐ๋, ๋ฐ์ฌ๋ฆผ, ๋ฌด์์ ์ซ์ ์์ฑ, ์์์ ์ฒ๋ฆฌ ๋ฑ ๋ค์ํ ์์
์ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. ์ซ์๋ฅผ ๋ค๋ฃจ๋ ๋ค์ํ ๋ฉ์๋๋ฅผ ์ตํ๊ณ ํ๋ก์ ํธ์ ํ์ฉํด ๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ