JS 첫 프로그램 — console.log·주석·세미콜론
한 줄 더 깊게 — 주석은 왜 쓰고, 세미콜론은 꼭 필요한지 천천히.
1편에서 띄운 console.log("Hello, JS!") 를 한 발 더 들여다봅니다. 이 한 줄에는 사실 세 가지 — "무엇을 출력하는 도구(console.log)", "코드와 사람을 위한 메모(주석)", "문장의 끝(세미콜론)" 이 모두 들어 있습니다. 2편에서 각각을 분명하게 정리해 둡니다.
console.log — 왜 이 한 줄이 가장 많이 쓰일까
console.log(...) 는 "지금 이 값이 무엇인지 보여줘" 라는 JS 의 표준 명령입니다. 개발 중 80% 이상의 디버깅이 이 한 줄로 끝납니다.
console.log("문자열");
console.log(42);
console.log(true);
console.log([1, 2, 3]);
console.log({ name: "준성", age: 39 });
출력에는 여러 값을 콤마로 넣어도 됩니다. 사이에 공백이 자동으로 들어갑니다.
const name = "준성";
const score = 95;
console.log("이름:", name, "점수:", score);
// 이름: 준성 점수: 95
형제 명령도 있습니다 — 같은 console 객체의 다른 메서드들입니다.
| 메서드 | 용도 | 색 |
|---|---|---|
| console.log | 기본 출력 | 기본색 |
| console.warn | 경고 (브라우저에서 노란 배경) | 노란 |
| console.error | 에러 (빨간 배경 + 스택) | 빨강 |
| console.table | 배열/객체를 표 형태로 | 기본 |
| console.dir | 객체 속성 펼쳐 보기 | 기본 |
주석 — 코드 옆에 쓰는 사람의 메모
주석은 JS 가 무시하는 문장입니다. 사람을 위한 메모죠. 두 종류만 기억하면 됩니다.
// 한 줄짜리 주석 — 슬래시 두 개로 시작
const tax = 0.1; // 줄 끝에 붙여도 OK
/*
여러 줄 주석.
긴 설명·임시로 코드를 막아둘 때 유용.
*/
/* const debug = true; */ // 한 줄을 잠깐 막을 때도 사용
좋은 주석 vs 나쁜 주석. 좋은 주석은 "왜" 를 적습니다. 나쁜 주석은 "무엇을" 을 적습니다. 코드가 이미 무엇을 하는지 말하니까요.
안 좋은 예: i++; // i 를 1 증가
좋은 예: i++; // skipFirst 가 true 면 첫 항목은 건너뜀
세미콜론 — 찍을까 말까 (정답: 찍자)
JS 는 ASI(Automatic Semicolon Insertion) 라는 규칙으로, 세미콜론을 안 찍어도 적당히 알아서 끼워줍니다. 그래서 다음 코드도 동작합니다.
const a = 1
const b = 2
console.log(a + b)
// 출력: 3 (ASI 가 ; 를 알아서 추가)
문제는 ASI 가 가끔 우리 의도와 다르게 동작한다는 점입니다. 대표적인 함정:
function getUser() {
return
{
name: "준성"
}
}
console.log(getUser());
// undefined ← !!
"return" 다음에 줄바꿈이 오면 ASI 가 return; 으로 끊어버려서 객체는 죽은 코드가 됩니다. 다음처럼 쓰면 의도대로 됩니다.
function getUser() {
return {
name: "준성"
};
}
실전 권장. 한국·미국 대부분의 회사 코드 컨벤션은 세미콜론을 항상 찍는 쪽입니다. Prettier 같은 자동 포매터도 기본값이 "찍기". "안 찍는 스타일(Standard JS, Airbnb 옛 스타일)" 도 있지만 입문 단계에서는 항상 찍는 습관을 권장합니다.
브라우저 콘솔 vs node REPL — 작은 차이
둘 다 "한 줄씩 쳐서 결과를 보는" 환경이지만 미묘하게 다릅니다.
| 항목 | 브라우저 콘솔 | node REPL |
|---|---|---|
| 접근 | F12 → Console | 터미널에 node 입력 |
| DOM 접근 | document, window 사용 가능 | 없음 |
| 파일 시스템 | 제한적 (보안) | fs 모듈로 자유 |
| global 객체 | window | global / globalThis |
| 종료 | 탭 닫기 | .exit 또는 Ctrl+D |
실습할 때 손에 잡히는 대로 쓰면 됩니다. 입문 단계에서는 VS Code + node hello.js 가 가장 일관됩니다.
3편 — let·const·var, 변수와 상수
"한 번 정한 값을 절대 바꾸지 않을 것" vs "바꿀 것" — JS 가 어떻게 구분하고 왜 var 는 쓰지 말아야 하는지.
이전: 1편 설치 · 현재: 2편 (입문) · 다음 → 3편 변수와 상수 · 진행: 2/26