JavaScript 30 Challeneges - Console Tricks
728x90

console.

μžλ°”μŠ€ν¬λ¦½νŠΈλ₯Ό μ΄μš©ν•΄μ„œ μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ, μ½˜μ†”μ„ ν†΅ν•΄μ„œ 값을 ν™•μΈν•˜λŠ” 일이 λ§Žλ‹€.

μ•„λ§ˆ μ½˜μ†”μ—μ„œ 제일 많이 μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œλŠ” console.log 일 것이닀!

κ·Έ μ™Έ ν˜„μž¬ 자주 μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œκ°€ μžˆλ‹€λ©΄ 가끔 객체 λ‚΄λΆ€ ꡬ쑰λ₯Ό νŒŒμ•…ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” console.dir 와
둜그λ₯Ό λ‹€ μ§€μ›Œλ²„λ¦¬λŠ” console.clear() 정도?..

λ‚΄κ°€ μ–•κ²Œ μ•Œκ³  μžˆμ—ˆλ˜ console 객체의 λͺ‡λͺ‡ λ©”μ„œλ“œλ“€ 이외에도 λ‹€μ–‘ν•œ λ©”μ„œλ“œλ“€μ΄ μžˆλ‹€λŠ” 것을

이번 μ±Œλ¦°μ§€λ₯Ό 톡해 μ•Œκ²Œλ˜μ–΄ ν•œλ²ˆ 정리해보렀 ν•œλ‹€.

 

 

console.log

κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ”, 둜그λ₯Ό μ°λŠ” λ©”μ„œλ“œλ‹€.
μ—¬λŸ¬ 개λ₯Ό 좜λ ₯ν•  μˆ˜λ„ 있고, Cμ–Έμ–΄μ˜ printf처럼 μž…λ ₯ν•œ 문자λ₯Ό μΉ˜ν™˜ν•˜μ—¬ μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€!
ν•˜μ§€λ§Œ μš°λ¦¬μ—κ² 더 μ΅μˆ™ν•œ ν…œν”Œλ¦Ώ 슀트링 ${string}이 μžˆμœΌλ‹ˆ μ‚¬μš©ν•  일이 λ“œλ¬Ό 것 κ°™λ‹€.

console.log('hello');
console.log('hello', 'javascript');

console.log('just %s string!', 'πŸ’©');
console.log('3 4 %d 6', '5');

λ‘œκ·Έμ—λ„ HTML νƒœκ·Έμ— 인라인 μŠ€νƒ€μΌμ„ λ„£λŠ” 것 처럼 css의 μŠ€νƒ€μΌμ„ μ μš©ν•΄λ³Ό μˆ˜λ„ μžˆλ‹€.

console.log('%c Great Text!', 'font-size:30px; background-color: dodgerblue');

 

 

 

console.warn, error, info

κ·Έ μ™Έ 정보창을 λ‹€λ₯Έ λ””μžμΈμœΌλ‘œ ν‘œν˜„ν•  수 μžˆλŠ” μ„Έ 가지 λ©”μ„œλ“œ.
메세지λ₯Ό 좜λ ₯ν•˜λŠ” 것은 λ™μΌν•˜μ§€λ§Œ μƒνƒœ λ””μžμΈμ΄ λ‹€λ₯΄λ‹€.
infoλŠ” 이전과 λ‹€λ₯΄κ²Œ λ””μžμΈμ΄ logκ³Ό 같아진 것 κ°™λ‹€. πŸ€”

console.warn('NOOOoooo');
console.error('ERROR!');
console.info('Crocodiles eat 3-4 people per year!');

 

 

console.assert

assert λ©”μ„œλ“œλŠ” μ•žμ„œ μž…λ ₯ν•œ 쑰건이 거짓인 κ²½μš°μ—λ§Œ μ—λŸ¬ 메세지λ₯Ό μ½˜μ†”μ— 좜λ ₯ν•œλ‹€.

const p = document.querySelector('p');
console.assert(p.classList.contains('is-active'), 'That is wrong!!!');

 

 

console.clear

κ·Έκ°„μ˜ μ½˜μ†”λ“€μ„ λͺ¨λ‘ μ§€μ›Œλ²„λ¦¬λŠ” λ©”μ„œλ“œ.
수 λ§Žμ€ 둜그λ₯Ό μ°μ—ˆμ„ λ•Œ κΉ”λ”ν•˜κ²Œ 밀어버릴 수 μžˆλ‹€.

console.clear();

깔끔해진 μ½˜μ†”

 

 

console.dir

dir λ©”μ„œλ“œλŠ” 객체의 ꡬ쑰λ₯Ό νŒŒμ•…ν•  λ•Œ μœ μš©ν•˜λ‹€.
console.log κ°€ 객체λ₯Ό HTML 트리ꡬ쑰둜 보여쀀닀면, console.dir은 json ν˜•νƒœμ˜ 트리ꡬ쑰둜 λ³΄μ—¬μ€€λ‹€λŠ” 차이가 μžˆλ‹€.

console.log(document.body);
console.dir(document.body);

 

 

 

console.groupCollapsed, console.groupEnd

이 λ©”μ„œλ“œλ“€μ„ μ‚¬μš©ν•˜λ©΄ μ½˜μ†”μ„ 그룹으둜 묢을 수 μžˆλ‹€.
groupCollapsed λ©”μ„œλ“œμ™€ groupEnd λ©”μ„œλ“œ 사이에 μžˆλŠ” λ‘œκ·Έλ“€μ„ 그룹으둜 λ¬ΆλŠ”λ‹€.

const dogs = [
    { name: 'Snickers', age: 2 },
    { name: 'hugo', age: 8 },
];

dogs.forEach((dog) => {
    console.groupCollapsed(`${dog.name}`);
    console.log(`Hello, I'm ${dog.name}`);
    console.log(`${dog.name} is ${dog.age} years old`);
    console.log(`${dog.name} is ${dog.age * 7} dog years old`);
    console.groupEnd(`${dog.name}`);
});

μ ‘νžŒ 그룹을 펼친 μƒνƒœ

 

 

console.count, console.countReset

μ§€μ •ν•œ 라벨에 λŒ€ν•˜μ—¬ μΉ΄μš΄νŠΈν•˜λŠ” λ©”μ„œλ“œ. countReset λ©”μ„œλ“œλ‘œ μ΄ˆκΈ°ν™” ν•  수 μžˆλ‹€.

console.count('num');
console.count('num');
console.count('num');
console.countReset();
console.count('num');

3μ—μ„œ λ‹€μ‹œ 1둜 리셋

 

 

 

console.time, console.timeEnd

타이머λ₯Ό λ™μž‘ν•˜κ³  λ©ˆμΆ”λŠ” λ©”μ„œλ“œλ“€. μ½”λ“œλ₯Ό μˆ˜ν–‰ν•˜λŠ”λ° μ‹œκ°„μ΄ μ–Όλ§ˆλ‚˜ μ†Œμš”λ˜μ—ˆλŠ”μ§€ μ•Œ 수 μžˆλ‹€.
μ„œλ²„μ—μ„œ 데이터λ₯Ό κ°€μ Έμ˜€λŠ”λ° μ–Όλ§ˆλ‚˜ κ±Έλ ΈλŠ”μ§€λ„ 확인할 수 μžˆμ„ 것 κ°™λ‹€.

   console.time('fetching data');
      fetch('https://μ£Όμ†Œ')
        .then((data) => data.json())
        .then((data) => {
          console.timeEnd('fetching data');
          console.log(data);
        });

μ½”λ“œ μˆ˜ν–‰ν•˜λŠ”λ° κ±Έλ¦° μ‹œκ°„μ΄ μ°ν˜”λ‹€

μ—¬κΈ°κΉŒμ§€ console 객체의 λ‹€μ–‘ν•œ λ©”μ„œλ“œλ“€μ— λŒ€ν•΄μ„œ κ°„λž΅ν•˜κ²Œ μ •λ¦¬ν•΄λ³΄μ•˜λ‹€.
countλ‚˜ time 같은 λ©”μ„œλ“œλ“€μ΄ 개인적으둜 μƒˆλ‘­κ²Œ λ‹€κ°€μ™”λ‹€.
μ½”λ”©ν•˜λ©° μ’…μ’… μœ μš©ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμ„ λ“― ν•˜λ‹€! πŸ™‚

728x90