Search

console

console

Node.js의 console은 κ°œλ°œμžκ°€ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λŠ” λ™μ•ˆ 둜그 λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” κ°μ²΄μž…λ‹ˆλ‹€. console κ°μ²΄λŠ” λ‹€μ–‘ν•œ λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•˜μ—¬ 둜그 λ©”μ‹œμ§€μ˜ 좜λ ₯ 레벨과 ν˜•μ‹μ„ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.
일반적으둜 console.log() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 값을 μ½˜μ†”μ— 좜λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 λ©”μ„œλ“œλŠ” λ¬Έμžμ—΄, λ³€μˆ˜, 객체 λ“± λ‹€μ–‘ν•œ μœ ν˜•μ˜ 데이터λ₯Ό 좜λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ console.error() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•˜κ³  console.warn() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ κ²½κ³  λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
console κ°μ²΄λŠ” λ‹€μ–‘ν•œ λ©”μ„œλ“œλ₯Ό μ œκ³΅ν•˜λŠ”λ°, 이λ₯Ό μ‚¬μš©ν•˜μ—¬ 개발 쀑에 디버깅을 μˆ˜ν–‰ν•˜κ±°λ‚˜ μ½”λ“œμ˜ μ‹€ν–‰ μƒνƒœλ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ console.time() 및 console.timeEnd() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œμ˜ μ‹€ν–‰ μ‹œκ°„μ„ μΈ‘μ •ν•  수 있고, console.trace() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ½”λ“œμ˜ 호좜 μŠ€νƒμ„ 좜λ ₯ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.
이 외에도 console κ°μ²΄λŠ” λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•˜λ©°, Node.js ν™˜κ²½μ—μ„œ 디버깅 및 λ‘œκΉ…μ— μœ μš©ν•˜κ²Œ μ‚¬μš©λ©λ‹ˆλ‹€.

μ •μ˜

console은 JavaScript ν™˜κ²½μ—μ„œ μ œκ³΅λ˜λŠ” λ‚΄μž₯ κ°μ²΄λ‘œμ„œ, μ½˜μ†”μ— λ‹€μ–‘ν•œ μœ ν˜•μ˜ 둜그λ₯Ό 좜λ ₯ν•˜κ±°λ‚˜ 디버깅 λ©”μ‹œμ§€λ₯Ό ν‘œμ‹œν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. Node.jsμ—μ„œλŠ” 터미널 μ½˜μ†”μ— 좜λ ₯되고, λΈŒλΌμš°μ € ν™˜κ²½μ—μ„œλŠ” 개발자 λ„κ΅¬μ˜ μ½˜μ†” 탭에 좜λ ₯λ©λ‹ˆλ‹€.

문법

console 객체의 λ©”μ„œλ“œλŠ” 각각의 λͺ©μ μ— 맞게 λ‹€μ–‘ν•œ ν˜•νƒœλ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. μ£Όμš” λ©”μ„œλ“œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ£Όμš” λ©”μ†Œλ“œ

λ©”μ„œλ“œ
μ„€λͺ…
μ‚¬μš© μ˜ˆμ‹œ
log
일반적인 둜그λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.log('Hello, world!');
dir
객체의 속성을 λ‚˜μ—΄ν•˜κ³  κ΅¬μ‘°ν™”λœ ν˜•νƒœλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€.
console.dir({ name: 'John' });
error
μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.error('This is an error.');
trace
ν˜„μž¬ μŠ€νƒ 트레이슀λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.trace('Trace this.');
warn
κ²½κ³  λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.warn('This is a warning.');
info
정보 λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.info('This is information.');
debug
λ””λ²„κ·Έμš© λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.
console.debug('Debug message.');
clear
μ½˜μ†”μ„ μ§€μ›λ‹ˆλ‹€.
console.clear();
table
ν…Œμ΄λΈ” ν˜•νƒœλ‘œ λ°°μ—΄μ΄λ‚˜ 객체λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€.
console.table([{name:'John', age:30}]);
time & timeEnd
μ½”λ“œ μ‹€ν–‰ μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€.
console.time('myTimer');, console.timeEnd('myTimer');

μ˜ˆμ‹œ μ½”λ“œ

const name = 'aloha'; const age = 20; console.log('Name:', name, 'Age:', age); console.error('This is an error message.'); console.warn('This is a warning message.'); console.info('This is an informational message.'); console.debug('This is a debug message.');
JavaScript
볡사

console.dir()

주어진 JavaScript 객체의 속성을 λ‚˜μ—΄ν•˜κ³  ν•΄λ‹Ή 객체에 λŒ€ν•œ 정보λ₯Ό μ’€ 더 κ΅¬μ‘°ν™”λœ ν˜•νƒœλ‘œ 좜λ ₯ν•˜λŠ” λ©”μ†Œλ“œ
const person = { name: 'aloha', age: 20, address: { city: 'New York', zip: '10001' } }; // console.log()둜 객체 좜λ ₯ console.log(person); // console.dir()둜 객체 좜λ ₯ console.dir(person, { depth: null });
JavaScript
볡사
μœ„ μ˜ˆμ‹œ μ½”λ“œμ—μ„œ console.dir(person, { depth: null });은 person 객체λ₯Ό μ’€ 더 κ΅¬μ‘°ν™”λœ ν˜•νƒœλ‘œ 좜λ ₯ν•©λ‹ˆλ‹€.
1.
console.log()λŠ” 객체λ₯Ό 단일 라인으둜 좜λ ₯ν•˜λ©° μ€‘μ²©λœ 객체의 ꡬ쑰가 펼쳐져 μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
2.
console.dir()λ₯Ό μ‚¬μš©ν•˜μ—¬ 객체λ₯Ό 좜λ ₯ν•œ κ²°κ³Όμž…λ‹ˆλ‹€. depth: null μ˜΅μ…˜μ„ μ‚¬μš©ν•˜μ—¬ μ€‘μ²©λœ 객체도 λͺ¨λ‘ 펼쳐져 ꡬ쑰가 더 μžμ„Ένžˆ ν‘œμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ μ€‘μ²©λœ 속성이 더 λͺ…ν™•ν•˜κ²Œ 보이게 λ©λ‹ˆλ‹€.

μ‚¬μš© λͺ©μ :

β€’
디버깅: μ½”λ“œ μ‹€ν–‰ 쀑에 쀑간 κ²°κ³Όλ₯Ό ν™•μΈν•˜κ±°λ‚˜ 버그λ₯Ό 찾을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
β€’
둜그 좜λ ₯: ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ μƒνƒœ, μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©, μ—λŸ¬ λ©”μ‹œμ§€ 등을 κΈ°λ‘ν•©λ‹ˆλ‹€.
β€’
μ„±λŠ₯ μΈ‘μ •: μ½”λ“œ μΌλΆ€μ˜ μ‹€ν–‰ μ‹œκ°„μ„ μΈ‘μ •ν•˜μ—¬ μ„±λŠ₯ ν–₯상을 μœ„ν•œ 정보λ₯Ό μˆ˜μ§‘ν•©λ‹ˆλ‹€.
β€’
일반적인 정보 좜λ ₯: ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰ 쀑에 μ€‘μš”ν•œ 정보λ₯Ό κ°œλ°œμžμ—κ²Œ μ „λ‹¬ν•©λ‹ˆλ‹€.