1. ์์์ ๋ด๋ฆผ
Math.floor๋ ์์์ ์ดํ ๊ฐ์ ๋ฒ๋ฆฌ๊ณ ์ ์ ๋ถ๋ถ์ ๋ด๋ ค์ค๋๋ค. ์ฃผ๋ชฉํ ์ผ์ด์ค๋
์์์ผ ๊ฒฝ์ฐ ์ ๋๋ค.
Math.floor(3.14); // 3
Math.floor(-3.14); // -4
3.14๋ 3 ๊ณผ 4 ๋ผ๋ ์ ์์ ์ฌ์ด๊ฐ์ ๋๋ค.
๋ฐ๋ผ์, ์์์ ์ดํ ๊ฐ์ ๋ฒ๋ฆฌ๊ณ 3 ๊ณผ 4 ์ค ์์ ๊ฐ์ธ 3์ด ๊ฒฐ๊ณผ๊ฐ์ด ๋ฉ๋๋ค.
-3.14๋ -4์ -3 ์ด๋ผ๋ ์ ์์ ์ฌ์ด๊ฐ์ ๋๋ค.
๋ฐ๋ผ์, ์์์ ์ดํ ๊ฐ์ ๋ฒ๋ฆฌ๊ณ -4, -3 ์ค ์์ ๊ฐ์ธ -4๊ฐ ๊ฒฐ๊ณผ๊ฐ์ด ๋ฉ๋๋ค.
2. ์์์ ์ฌ๋ฆผ
Math.ceil์ ์์์ ์ดํ ๊ฐ์ ๋ฒ๋ฆฌ๊ณ ์ ์ ๋ถ๋ถ์ ์ฌ๋ ค์ค๋๋ค. ์ฃผ๋ชฉํ ์ผ์ด์ค๋ ๋ด๋ฆผ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก
์์์ ๋๋ค.
Math.ceil(3.14); // 4
Math.ceil(-3.14); // -3
3.14์ ์์์ ์ฌ๋ฆผ์ ์ง๊ด์ ์ผ๋ก ์ดํด ๊ฐ๋ฅํฉ๋๋ค.
-3.14์ ๊ฒฝ์ฐ,
-3.14๋ -4์ -3 ์ฌ์ด์ ์์ต๋๋ค.
๊ทธ๋์ ์์์ ์ดํ๋ฅผ ๋ฒ๋ฆฐ ํ, ๋ ํฐ ์ ์์ธ -3์ผ๋ก ์ฌ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
3. ์์์ ๋ฐ์ฌ๋ฆผ
Math.round๋ ์์์ ์ดํ ๊ฐ์ ๋ฐ์ฌ๋ฆผํด์ค๋๋ค. ์ฃผ๋ชฉํ ์ผ์ด์ค๋
์์์ ์ฒซ์งธ์๋ฆฌ๊ฐ 5์ผ ๊ฒฝ์ฐ์ ๋๋ค.
Math.round(3.14); // 4
Math.round(10.5); // 11
Math.round(10.777); // 11
Math.round(-3.14); // -3
Math.round(-10.5); // -10
Math.round(-64.59); // -65
์์์ ์ฒซ์งธ ์๋ฆฌ๊ฐ 5์ผ ๊ฒฝ์ฐ,
์์๋ผ๋ฉด ์ฌ๋ฆผ, ์์๋ผ๋ฉด ๋ด๋ฆผ์ ๋๋ค.
4. ์์์ ๋ฒ๋ฆผ
์์์ ์ดํ ๊ฐ์ ๋ ๋ ค๋ฒ๋ฆฌ๋ ๋ฐฉ๋ฒ 3๊ฐ์ง๋ฅผ ์๊ฐํ๊ฒ ์ต๋๋ค.
Math.trunc(3.14); // 3
Math.trunc(-3.14); // -3
Math.trunc(0.123); // 0
Math.trunc(-0.123); // -0
parseInt() ํจ์๋ ์๋ ๋ฌธ์์ด ์ธ์์ ์ง์ ์ธ์๋ฅผ ๋ฐ์ ์๋ง๊ฒ ๋ณํํด์ฃผ๋ ํจ์์ ๋๋ค.
์ด ๊ณผ์ ์์ ์์์ ์ดํ๊ฐ ๋ ๋ผ๊ฐ๋ฏ๋ก, ์์์ ๋ฒ๋ฆผ์ ํ ๋๋ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
- ์ง์ ์ธ์๋ฅผ ๋ฃ์ง ์์ผ๋ฉด default๊ฐ์ธ 10์ง์๋ก ํ์ฑํฉ๋๋ค.
parseInt('3.14'); // 3
parseInt('-3.14'); // -3
double tilde ๋ tilde๋ฅผ 2๋ฒ ์งํํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, tilde์ ๋ํด์๋ ํ ๋ฒ ์์๋ด์ผ๊ฒ ์ต๋๋ค.
๋ฐ์ ํ ๊ธ(๋ฒํผ)์ ๋๋ฌ์ฃผ์ธ์.
๋นํธ NOT(~) ์ฐ์ฐ์
~๋ ํผ์ฐ์ฐ์์ ๋นํธ๋ฅผ ๋ฐ์ ์ํต๋๋ค.
let a = 5; // 00000000000000000000000000000101 let b = -3; // 11111111111111111111111111111101 console.log(~a); // 11111111111111111111111111111010 // output : -6 console.log(~b); // 00000000000000000000000000000010 // output : 2
๋นํธ๊ฐ 0 ⇒ 1, 1 ⇒ 0 ์ผ๋ก ๋ณํ๋์์ต๋๋ค.
double tilde(~~) ์ฐ์ฐ์
์์ ~ ๊ฒฐ๊ณผ๋ฅผ ์ฐธ๊ณ ํด๋ณด๋ฉด,
a ๊ฐ 5 ์ผ ๋, ~a ๋ -6์ด ๋์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด, ~~a ์ ๊ฒฐ๊ณผ๋ ์ด๋ป๊ฒ ๋ ๊น์?
ํผ์ฐ์ฐ์์ ๋นํธ๋ฅผ ๋ฐ์ ํ๊ณ , ๋ ๋ฐ์ ํ๋ฉด ๊ฒฐ๊ตญ ์๋ a ์ธ 5๊ฐ ๋ฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด, double tilde.
์ ์ฌ์ฉํ๋ ๊ฑธ๊น์?- ๋นํธ ๋ฐ์ ์ด ์ผ์ด๋ ๋, ์์์ ๋ถ๋ถ์ด ๋ฒ๋ ค์ง๋ฏ๋ก, ์์๋ Math.floor()๋ฅผ ์์๋ Math.ceil()๋ฅผ ๋์ฒดํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ด๋ ๊ฒ ~~์ฐ์ฐ์ผ๋ก ๋์ฒดํ์ ๊ฒฝ์ฐ, Math.floor(), Math.ceil() ๋ณด๋ค ์ฐ์ฐ ์๋๊ฐ ๋นจ๋ผ์ง๋๋ค. ์ปดํ์ผ ์๋๊ฐ ์ค์ํ ๊ฒฝ์ฐ(์๋ฅผ ๋ค์ด PS) ์ ๋ฆฌํ ์ ์์ต๋๋ค.
let a = 9.87; let b = -12.34; console.log(~~a); // 9 console.log(~~b); // -12
ํ์ง๋ง, double tilde(~~) ์ฐ์ฐ์๋
์ฝ๋๊ฐ ๊ธธ๊ณ ๋ณต์กํ ๋ ๊ฐ๋ ์ฑ์ด ์ข์ง ๋ชปํ๊ธฐ ๋๋ฌธ์์ํฉ์ ๋ง๊ฒ ์ ์ ํ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํ๊ฒ ์ต๋๋ค๐
'FE > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] let, const ๋ด๋ถ๊ฐ ๋ณ๊ฒฝ์ ๋ํ์ฌ (0) | 2023.10.10 |
---|---|
[JavaScript] ์์ ๋ณต์ฌ์ ๊น์ ๋ณต์ฌ (0) | 2023.10.09 |
Uploaded by Notion2Tistory v1.1.0