-
320x100
๐ฅJavascript 30 - Day 09๐ฅ
Day 9์ ํด๋นํ๋ [14 Must Know Dev Tools Tricks]๋ฅผ ๋ฐฐ์๋ณผ ์ฐจ๋ก์ ๋๋ค.
1. DOM Breakpoints
๊ฐ๋ฐ์ ๋๊ตฌ Elements ํญ์์, ํน์ ์๋ฆฌ๋จผํธ๋ฅผ ์ ํํ๊ณ ์ฐํด๋ฆญ ํ Break on...์ ๋๋ฌ ์ค๋จ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
Attributes Modifications๋ฅผ ์ ํํ ์ํ์์ h1์ ํด๋ฆญํ๋ฉด, ์๋ ์ด๋ฏธ์ง์ฒ๋ผ ์ค๋จ์ ์ด ํ์๋ฉ๋๋ค. ์ฌ์๋ฒํผ์ฒ๋ผ ์๊ธด ๊ฑธ ๋๋ฅด๋ฉด ์ฐจ๋ก๋ก ์ค๋จ์ ์ด ๋ํ๋์ฃ .
-
Subtree Modifications
์์ ์์๊ฐ ์ถ๊ฐ, ์ญ์ , ๋ณ๊ฒฝ๋์ ๊ฒฝ์ฐ break ํฉ๋๋ค.
-
Attributes Modifications
์์์ ์์ฑ์ด ๋ฐ๋ ๊ฒฝ์ฐ break ํฉ๋๋ค.
-
Node Removal
์์๊ฐ ์์ ํ ์ฌ๋ผ์ง ๊ฒฝ์ฐ break ํฉ๋๋ค.
2. ๋ฌธ์์ด ์นํ ๊ธฐ๋ฅ(String substitutions)
์ฝ์์ ์ฐ์ ๋ ๋ฌธ์์ด์ ์นํํ ์๊ฐ ์์ต๋๋ค. ๋ฐ๋ก ์ด๋ ๊ฒ์.
<button>๋ฒํผ์ ๋๋ค <script> const btn = document.querySelector("button"); const buttonText = btn.textContent; let clickedTimes = 0; function clickBtn() { clickedTimes++; console.log("%s ๋ผ๊ณ ์ฐ์ธ ๋ฒํผ์ %d๋ฒ ๋๋ ๋ค.", buttonText, clickedTimes) } btn.addEventListener("click", clickBtn); </script>
์ ์ฝ๋์์
%s
์%d
๊ฐ ํด๋นํฉ๋๋ค. ์... ์๋๋ฉด ES6 ๋ฌธ๋ฒ์ผ๋ก ์จ๋ ๋๊ณ ์.... function clickBtn() { if (clickedTimes >= 5) { console.log(`${clickedTimes}๋ฒ์ด๋ ๋๋ฅด๋ค๋.. ๋๋จํ๋ค.`) } ... }
3. console
console.log(%c)
ํํ ์ฝ์์ ์ซ๋ค!!!! ํ๋ฉด ์๋์ฒ๋ผ ์ฝ์์ ๋กํ๊ฒ ๊พธ๋ฉฐ๋๋ ์๋ค๊ตฌ์>_<
๋ค...%c
๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.const me = "Anne"; console.log(`Awesome, %c ${me}! `, "background-color:#bada55; color: #333; font-weight:bold; font-size:120%;");
console.warn(), console.error(), console.info()
๋๋ ํํด๋น ์ง(???) consoe.log ๋์
console.warn()
์ด๋console.error()
๋๋console.info()
๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.console.warn("์ฐ๋ฆฌ๋ค ๊ฐ์ด๋ฐ ์คํ์ด๊ฐ ์๋ ๊ฒ ๊ฐ์...") console.error("์๋ฌ...๋ผ๊ณ ?!");
์ด๋ฌ๋ฉด ๊ฐ๋ฐ ์ค์ ์๋ฌ๋ ๊ฒฝ๊ณ ๋ฅผ ์ข ๋ ๋ช ํํ๊ฒ ํ์ํ ์ ์๊ฒ ๋ค์ใ ใ
console.assert()
ํํธ,
console.assert()
๋ฅผ ์ด์ฉํด ๊ฒฐ๊ณผ๊ฐ์ด false์ผ ๋ ์ฝ์์ ์ฐํ๋๋ก ํ ์ ์์ต๋๋ค.function overTen(a, b) { console.assert(a + b > 10, `${a}+${b}๋ฅผ ํ์ง๋ง 10์ ๋์ง ์์ต๋๋ค.`) } overTen(3, 4);
console.clear()
์ฝ์์ด ๋๋ฌด ๋ณต์กํด์ ธ์ ์ฒญ์ํ๊ณ ์ถ์ ๋
console.clear()
๋ฅผ ํด์ค๋๋ค.console.clear(); //์ฌ๋ผ์ ธ๋ผ ๋ฟ !
console.groupCollapsed(), console.groupEnd()
์ฝ์์ ๊ทธ๋ฃนํ ์์ผ์ ๋ฌถ์ ์๋ ์์ต๋๋ค. ๊ทธ๋ฃน ๋ด์ ์ฝ์์ ์จ๊ฒจ์ ธ ์๊ธฐ ๋๋ฌธ์ ์ค์ํ์ง๋ ์์ง๋ง ๋ฌถ์ด์ ๋ณด์ฌ์ค ํ์๊ฐ ์์ ๋ ์ฌ์ฉํ๋ฉด ๋๊ฒ ์ต๋๋ค.
console.groupCollapsed('๋ญ๊ฐ... ๋จน๊ณ ์ถ๋ค!'); console.groupCollapsed('์นํจ ๋จน๊ณ ์ถ๋ค'); console.warn("ํ๋๋ฒํฐ์นํจ"); console.warn("๋ง๋๊ฐ์ฅ์นํจ"); console.groupEnd(); console.groupCollapsed('์๋ ๋จน๊ณ ์ถ๋ค'); console.warn("๋ฐฑ์์๋"); console.warn("๋ณ์ฒ์๋"); console.groupEnd();
์น.ํจ.์กฐ.์ (์๋๋...โ )console.count()
console.count()
๋ ()๋ด์ ์ด๋ฆ(๋ผ๋ฒจ)์ด ์ผ๋ง๋ ํธ์ถ๋๋์ง๋ฅผ ์๋ ค์ค๋๋ค.function sayHi(x) { for (var i = 0; i < x; i++) { console.count("Hi"); } } sayHi(10);
console.time()
console.time()
์ ์์ ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์ง ์ธก์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ ์ด๋ฆ(๋ผ๋ฒจ)์ผ๋กconsole.timeEnd()
๋ฅผ ํธ์ถํ ๋, ๋ธ๋ผ์ฐ์ ๊ฐ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ๊ฒฝ๊ณผํ ์๊ฐ์ ์ถ๋ ฅํฉ๋๋ค.console.time("1๋ถํฐ 100๊น์ง ์ฝ์์ ์ฐ์") console.groupCollapsed('i๋...'); for (let i = 0; i < 100; i++) { console.log(i); } console.groupEnd(); console.timeEnd("1๋ถํฐ 100๊น์ง ์ฝ์์ ์ฐ์");
console.time("API ๋ถ๋ฌ์ค๊ธฐ"); fetch("https://api.github.com/users/annykim") .then(blob => blob.json()) .then(data => { console.table(data) console.timeEnd("API ๋ถ๋ฌ์ค๊ธฐ"); });
console ๊ด๋ จ API๋ ๊ตฌ๊ธ์ด๋ ๋ชจ์ง๋ผ๊ฐ ์ ์ค๋ช ํด์ฃผ๊ณ ์์ผ๋ ์ฌ๊ธธ ์ฐธ๊ณ ํฉ์๋ค :>
728x90'Blog > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ScrollMagic] ์คํฌ๋กค๋งค์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ๊ธฐ์ดํธ (12) 2019.08.26 [JS30] Hold Shift and Check Checkboxes (0) 2019.02.27 [JS30] HTML Canvas (0) 2019.02.15 [JS30] Array ๋ฉ์๋(2) (0) 2019.02.11 [JS30] Ajax Type Ahead (Ajax ํ์ดํ) (1) 2019.02.06 ๋๊ธ
-
Subtree Modifications