Solve common problems in your JavaScript code

You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!

다음의 링크들은 당신의 자바스크립트 코드가 정상적으로 작동할 수 있게 고쳐야되는 흔한 문제들의 해결책을 제시한다.

초보자들의 흔한 실수들

스펠링과 대소문자를 제대로 해라

코드가 작동하지 않거나 브라우저가 무언가가 undefined라고 불평하면 모든 변수 이름, 함수 이름 등을 정확하게 입력했는지 확인하십시오. 

문제를 일으키는 몇 가지 일반적인 내장 브라우저 함수는 다음과 같습니다.

올바른 잘못된
getElementsByTagName() getElementbyTagName()
getElementsByName() getElementByName()
getElementsByClassName() getElementByClassName()
getElementById() getElementsById()

세미콜론의 위치

세미콜론의 위치가 잘못 되지 않았는지 확인하세요. 예를들어:

올바른 잘못된
elem.style.color = 'red'; elem.style.color = 'red;'

함수

함수와 관련하여 실수할 수 있는 것들이 많이 있습니다.

가장 흔한 실수는 함수를 선언하고 어디서도 호출하지 않는 것입니다. 예를 들어:

function myFunction() {
  alert('This is my function.');
};

위 코드는 호출하지 않는 이상 아무것도 하지 않습니다.

myFunction();

함수 스코프

함수는 각자의 스코프가 있음을 명심하세요 — 변수를 전역으로 선언하거나 함수에서 값을 리턴하지 않는한 함수 밖에서 함수 내부에 설정된 변수 값에 접근 할 수 없습니다. (즉, 어떠한 함수 내에서도 접근 안됨)

리턴 문 이후 코드 실행

함수 밖으로 값을 리턴할 때, 자바스크립트 인터프리터가 함수를 완전히 빠져나감을 명심하세요.  — 리턴 문 이후에 선언된 코드는 절대로 실행되지 않습니다.

사실, 몇몇 브라우저들은 (파이어폭스 처럼) 리턴 문 이후에 코드가 있다면 개발자 콘솔에 에러 메세지를 줍니다. 파이어폭스는 "unreachable code after return statement" 라고 알려줍니다.

오브젝트 표기 vs 일반적 할당

보통 자바스크립테어서 무언가를 할당하려고 할때, 단일 등호기호를 사용합니다. 예:

const myNumber = 0;

하지만, 이 방법은 오브젝트에선 동작하지 않습니다. — 오브젝트에선 멤버와 값 사이를 콜론으로 구분하고, 각 멤버들은 콤마로 구분합니다, 예를 들어:

const myObject = {
  name: 'Chris',
  age: 38
}

기본 정의

Basic use cases

Arrays

Debugging JavaScript

For more information on JavaScript debugging, see Handling common JavaScript problems; also see Other common errors for a description of common errors.

Making decisions in code

Looping/iteration

Intermediate use cases