console.log๋ฅผ ์ด์ฉํ Todo List ๋ง๋ค๊ธฐ
์ค๋ช ์ ๋ฃ๊ธฐ ์ ์ ๊ฐ์ ์์ ๋ฅผ ๋ฏธ๋ฆฌ ํผ์ ๋ง๋ค์ด ๋ณด์๋ค. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ต์ํด์ง๋ ์ข์ ๊ธฐํ์ธ ๋ฏ.
๋๋ ๋ฐฐ์ด ์์ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ฑ์ค์ ํจ๊ป ์ถ๋ ฅํ ๋
for (const [key, value] of Object.entries(todoArr)) {
console.log(`${key}: ${value}`);
}
๋จ์ํ for๋ฌธ์ ์ด์ ์๋ ์จ๋ด์ ์๋กญ๊ฒ for ... of๋ฌธ๊ณผ Object.entries()๋ฅผ ์ผ๋๋ฐ,
for (let i = 0; i < todoArr.length; i++) {
console.log(`${i}: ${todoArr[i]}`;
}
๊ทธ๋ฅ for๋ฌธ์ ์ฐ๋ฉด ์ด๋ ๊ฒ ๋๋ค. ํ๋์ ์ดํดํ๊ธฐ์๋ for๋ฌธ์ด ๋จ์ํด์ ๋ ๋์ ๊ฒ ๊ฐ๋ค.
deleteNum ๋ถ๋ถ์ด ์ซ์๊ฐ ์๋๋ฉด delete๊ฐ ๋์ง ์๋ ์ฝ๋๋ฅผ ์ง์ง ์์๋ค!
deleteNum = parseInt(prompt("Enter index of todo to remove"));
if (!isNaN(deleteNum)) {
todoArr.splice(deleteNum, 1);
console.log("Todo removed");
} else {
console.log("That's not an Index!");
}
parseInt๋ฅผ ์จ์ ์ซ์์ธ์ง ํ๋ณํ ๋ค, NaN์ด ์๋ ๋๋ง delete๋ฅผ ์งํํ๋ ค๋ฉด ์ด๋ ๊ฒ ์ง๋ฉด ๋ ๋ฏ.
Landing page ๋ง๋ค๊ธฐ
:root
์ ์์ฑ์ ์ง์ ํ ๋ค์, font-family: var(--body-font);
๊ฐ์ ํํ๋ก ์ ์ฉํ๋ฉด ๋๋ค. ํ ๋ฒ ์ ์ฅํด ๋๊ณ ํ
ํ๋ฆฟ์ฒ๋ผ ์ฐ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.div.red.yellow
๋ผ๊ณ ์
๋ ฅํ๋ฉด <div class="red yellow"></div>
๊ฐ ์๋ ์์ฑ๋๋ค.background-clip: text
๋ฅผ ์ง์ ํด์ ๋ฐฐ๊ฒฝ์ ํ
์คํธ์๋ง ์ ์ฉ์ํจ ํ ํ
์คํธ ์์์ ํฌ๋ช
์ผ๋ก ๋ฐ๊ฟ์ ๋ฐฐ๊ฒฝ๋ง ๋ณด์ด๋๋ก ๋ง๋๋ ์๋ฆฌ์๋ค. ๊ทธ๋ฐ๋ฐ ์ -webkit-background-clip
์์ฑ์ด ์์ผ๋ฉด ์ ๋๋ก ์ ์ฉ์ด ์ ๋๋์ง๋ ์ข ๋ ์ฐพ์๋ด์ผํ ๋ฏํ๋ค. ์ด๊ฒ ์์ผ๋ฉด ํฌ๋กฌ, ์ฌํ๋ฆฌ, ์ผ์ฑ ์ธํฐ๋ท ๋ฑ์์๋ ์ ์ฉ์ด ์ ๋๋ ๊ฑด๊ฐ?postion: sticky
๋ฅผ ์ธ ๋๋ top
์ ํ์ธํ๊ธฐ