220802(ํ)
๐ชด ์ฑ์ฅ์ผ์ง
์ฑ
ํ๋ณตํ ์ด๊ธฐ์ฃผ์์(์จ์ธ ๋ค์ด์ด)
์ ๋ด์ฉ์ ์๊ทน๋ฐ์ ์์ํ๋ ์๋ฐํ ์ฑ์ฅ๊ธฐ๋ก
์ด์์๋ ๊ฝ๊ณผ ์ฃฝ์ ๊ฝ์ ์ด๋ป๊ฒ ๊ตฌ๋ณํ๋๊ฐ?
์ฑ์ฅํ๊ณ ์๋ ๊ฒ์ด ์ด์ ์๋ ๊ฒ์ด๋ค.
์๋ช ์ ์ ์ผํ ์ฆ๊ฑฐ๋ ์ฑ์ฅ์ด๋ค!
๐ณ ํค์๋
BigInt ์๋ฃํ
- ๊ธธ์ด์ ์๊ด์์ด ์ ์๋ฅผ ๋ํ๋ผ ์ ์์ต๋๋ค.
-(2e53 - 1)์์ (2e53 - 1)๊น์ง
์ธ์ ๊ฐ๋ค์ ํํ ๊ฐ๋ฅ
// ๋์ n์ ๋ถ์ฌ ํํ
const bigInt = 1234567890123456789012345678901234567890n;
typeof ํน์ด์ฌํญ
typeof Math; // "object" (1)
typeof null; // "object" (2)
typeof alert; // "function" (3)
- Math๋ ์ํ ์ฐ์ฐ์ ์ ๊ณตํ๋ ๋ด์ฅ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ
- null์ ๋ณธ๋ null์ด๋ผ๋ ๋ณธ์ฐ์ ์๋ฃ๊ฐ์ด ์์ง๋ง, ๊ณผ๊ฑฐ์ ์ค๋ฅ๋ก ๊ฐ์ฒด๋ก ๋์ด. ํ์ ํธํ์ฑ ๋ฌธ์ ๋ก ๊ทธ๋๋ก ๋จ๊ฒจ๋ .
- alert๊ฐ ํจ์๋ ๋ง์ง๋ง, ํจ์์ ์๋ฃํ์ ๊ฐ์ฒด. ์ด๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณผ๊ฑฐ์ ์ค๋ฅ์ด๋ฉฐ ํ์ ํธํ์ฑ ๋ฌธ์ ๋ก ๊ทธ๋๋ก ๋จ๊ฒจ๋ .(์คํ๋ ค ์ค๋ฌด์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๊ธฐ๋ ํจ)
setInterval๊ณผ setTimeout์ ๋ฉ์ถ๋ ๋ฐฉ๋ฒ(feat.์์ด๋)
์์ด๋๋ ํ์ด๋จธ์ ๋ํ ๋ฐํ๊ฐ์ผ๋ก ์ด ๊ฐ์ ํตํด ํ์ด๋จธ๋ฅผ ์ทจ์ํ ์ ์์.(๋ฐ๋์ ๊ฐ์ ํจ์์ฌ์ผํจ)
๋จ, setTimeout์ ๊ฒฝ์ฐ ๋น๋๊ธฐ ํจ์๊ฐ ์ข
๋ฃ๋๊ธฐ ์ ์ ์ทจ์๋ฅผ ํด์ผ ์๋ฏธ๊ฐ ์์.
let ์์ด๋ = setInterval(ํจ์, ๋ฐ๋ฆฌ์ด);
clearInterval(์์ด๋);
let ์์ด๋ = setTimeout(ํจ์, ๋ฐ๋ฆฌ์ด);
clearTimeout(์์ด๋);
addEventListener์ removeEventListener
์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ ๋์ ํจ์์ ์ด๋ฒคํธ๋ฅผ ์ ๊ฑฐํ ๋์ ํจ์๋ ๋ฐ๋์ ๊ฐ์ ํจ์์ฌ์ผํจ.
๊ณ ์ฐจํจ์์ธ ๊ฒฝ์ฐ๊ฐ ํท๊ฐ๋ฆฌ๊ฒ ๋๋๋ฐ, ํจ์๋ ์ฐธ์กฐํ ๋ณ์์ด๊ธฐ ๋๋ฌธ
const test = (value) => () {
console.log('๊ณ ์ฐจํจ์', value);
}
ํ๊ทธ.addEventListener('click', test(1));
// ์ด๋ฒคํธ๋ฅผ ์์จ ๋, ํ๋ฆฐ ์์
ํ๊ทธ.removeEventListener('click', test(1)); // test(1) !== test(1)์ด๊ธฐ ๋๋ฌธ! ๊ฐ์ ํจ์๊ฐ ์๋!
//ํด๊ฒฐ๋ฒ
const test1 = test(1);
ํ๊ทธ.addEventListener('click', test1);
ํ๊ทธ.removeEventListener('click', test1);
flag ๋ณ์
๋ง์น ๊น๋ฐ์ ๊ฝ์๋ค ๋นผ๋ ๊ฑฐ ๊ฐ์ ์ญํ ์ ํ์ฌ ๋ถ์ฌ์ง ์ด๋ฆ
let clickable = true;
const clickBtn = () => {
if (clickable) {
์ด์ฉ๊ตฌ ์ ์ฉ๊ตฌ
clickable = false;
}
์ด์ฉ๊ตฌ ์ ์ฉ๊ตฌ
clickable = true;
}
// flag ๋ณ์๊ฐ true, false๊ฐ์ ์๋ค๊ฐ๋คํ๋ฉฐ ํน์ ์ด๋ฒคํธ ๋ฐ์์ ์กฐ์จํ๋ ์์ผ๋ก ์ฌ์ฉ