본문 바로가기
코드 정리/Javascript

초보 개발자가 꼭 알아야 할 흔한 실수 4가지 (그리고 해결법!)

by rien_d 2025. 2. 19.

 

자바스크립트는 웹 개발의 핵심 언어로 자리 잡았지만, 초보 개발자들이 빠르게 겪게 되는 실수들이 있습니다. 제가 직접 겪고 공부하면서 깨달은 흔한 실수와 그 해결 방법을 여러분과 나누고자 합니다.

 

개발 초기에는 문법 하나하나가 생소하고, 코드 한 줄 한 줄에 실수가 숨어 있기 쉽습니다. 저도 처음 자바스크립트를 배울 때 여러 번 시행착오를 겪었고, 그 과정에서 대표적인 몇 가지 실수를 직접 경험했습니다. 오늘은 특히 대입 연산자와 비교 연산자의 혼동, 함수 매개변수의 기본값 설정 누락, 그리고 덧셈과 문자열 연결의 혼동 등, 초보 개발자가 자주 마주치는 실수들을 설명하고 올바른 코딩 방법을 제시해 보겠습니다.

 

 

1. 대입 연산자와 비교 연산자의 혼동

 

초보 개발자가 가장 많이 만드는 실수 중 하나는 대입 연산자(=)와 비교 연산자(== 또는 ===)를 혼동하는 것입니다.
아래 코드는 잘못된 예로, 조건문 안에서 문자열을 비교하는 대신 변수에 값을 할당하는 오류를 보여줍니다.

 
// 잘못된 예 
let text = "JavaScript"; if (text = "JS") { console.log(text); // 항상 "JS"를 출력하게 됩니다. }
 

이처럼 실제 비교를 해야 할 부분에서 대입을 하게 되면, 의도와 다르게 조건이 항상 참이 되어 예기치 않은 결과를 낳습니다. 올바른 코드는 아래와 같이 비교 연산자를 사용해야 합니다.

// 올바른 예 
let text = "JavaScript"; if (text === "JS") { console.log(text); // 조건이 참일 때만 실행됩니다. }
 

 

 

2. 함수 매개변수의 기본값 설정 누락

 

함수 호출 시 인수를 전달하지 않을 경우, 매개변수는 기본적으로 undefined가 되어 연산 결과에 영향을 줄 수 있습니다.
예를 들면, 아래와 같은 함수는 아무런 인수도 받지 않으면 NaN 값을 출력합니다.

 
// 잘못된 예 
function add(a, b) { console.log(a + b); } add(); // NaN 발생

 

함수 매개변수에 기본값을 설정하면, 인수가 전달되지 않아도 에러 없이 의도된 결과를 얻을 수 있습니다.

 
// 올바른 예 
function add(a = 0, b = 0) { console.log(a + b); } add(); // 결과: 0 add(5, 10); // 결과: 15
 
 
 
 

3. 덧셈과 문자열 연결의 혼동

 

자바스크립트의 + 연산자는 숫자 덧셈과 문자열 연결 두 가지 역할을 합니다.
숫자와 문자열을 혼합하면 의도치 않은 결과가 발생할 수 있습니다.

 
// 잘못된 예 
console.log(30 + "50"); // 결과: "3050" (문자열 연결)

 

문자열 연결이 아닌 숫자 덧셈을 원한다면, 두 피연산자가 모두 숫자임을 확실히 해야 합니다.
아래 코드는 의도한 대로 작동하는 예입니다:

// 올바른 예 
console.log(30 + 50); // 결과: 80 console.log("Java" + "Script"); // 결과: "JavaScript"

 

4. 변수 스코프와 명명 규칙의 이해

 

스코프와 변수 명명 또한 초보에게 혼란을 주는 부분입니다.
잘못된 변수명은 코드의 가독성을 떨어뜨리고, 스코프를 잘못 이해하면 예상하지 못한 오류가 발생합니다.
예를 들어, 함수를 작성할 때 지역 변수와 전역 변수를 혼동하면 다음과 같은 문제가 생길 수 있습니다:

 
// 잘못된 예 
console.log(message); // ReferenceError 발생 
function showMessage() { let message = "Hello, JavaScript!"; console.log(message); } showMessage(); // 이 함수 내부에서는 올바르게 동작하지만, 외부에서 message에 접근할 수 없음.

 

여기서 올바른 방법은 변수를 필요한 범위 내에서만 사용하고, 변수 명은 의미 있게 작성하여 코드의 가독성을 높이는 것입니다.
예를 들어, 다음과 같이 변수명을 명확하게 작성할 수 있습니다:

// 올바른 예 
const userName = "Developer"; function showWelcomeMessage() { const welcomeMessage = "Welcome back"; console.log(`${welcomeMessage}, ${userName}`); } showWelcomeMessage(); // "Welcome back, Developer" 출력
 
 

 

자바스크립트 초보자가 흔히 겪는 실수들을 살펴보면, 대입 연산자와 비교 연산자의 혼동, 함수 매개변수 기본값 누락, 덧셈과 문자열 연결의 혼동, 그리고 변수 스코프 및 명명 규칙의 부주의 등이 주요 원인임을 알 수 있습니다.

 

이러한 실수를 줄이기 위해서는 올바른 구문 사용법을 꾸준히 익히고, 코드 작성 후 꼼꼼하게 검토하는 습관이 필요합니다. 오랜 시간의 경험을 통해 얻은 깨달음들은 앞으로의 프로그래밍 여정에 큰 도움이 될 것입니다.


앞으로도 지속적으로 학습하고 연습하면서 여러분의 코드가 더욱 깔끔하고 효율적으로 발전하기를 바랍니다.