Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 대소문자 구분이 특히 중요한 이유는 무엇일까?

HTML은 대소문자를 구분하지 않는 마크업 언어인 반면, JavaScript는 일반 텍스트로 작성되는 프로그래밍 언어이기 때문에 대소문자를 엄격하게 구분합니다. 예를 들어 while 키워드는 반드시 소문자 그대로 while이어야 하며, While이나 WHILE로 작성하면 오류가 발생합니다.

HTML과의 연관성 때문에 더욱 혼동하기 쉽습니다

JavaScript가 대소문자 구분에 특히 민감하게 다뤄지는 이유는 HTML과 밀접하게 연관되어 있기 때문입니다. HTML에서 태그(tag)와 속성(attribute) 이름은 대소문자를 구분하지 않지만, JavaScript의 객체와 속성은 그렇지 않습니다.

문제는 HTML의 일부 태그와 속성 이름이 JavaScript 객체 및 속성 이름과 동일하다는 점입니다. 이러한 유사성 때문에 개발자가 두 언어의 규칙을 혼동하기 쉽습니다.

대표적인 예가 이벤트 핸들러입니다. HTML에서는 onClick처럼 카멜 케이스(camelCase)로 작성해도 동작하지만, JavaScript 코드 내에서는 반드시 소문자인 onclick으로 작성해야 합니다.

대소문자에 따라 완전히 다른 식별자가 됩니다

JavaScript에서는 철자가 같아도 대소문자만 다르면 서로 전혀 다른 변수로 취급됩니다. 아래 두 변수는 이름이 비슷해 보이지만 완전히 별개의 존재입니다.

var demo;
var DEMO;

객체와 함수도 마찬가지입니다. 아래 예제에서 Employee 생성자 함수를 호출할 때 대소문자를 정확히 맞춰야만 정상적으로 객체가 생성됩니다.

function Employee(id, name, subject){
    this.id = id;
    this.name = name;
}
var employee = new Employee("ee1", "John", "30");

실무에서 주의할 점

JavaScript로 작업할 때는 변수명, 함수명, 객체명의 대소문자 표기를 항상 꼼꼼히 확인하는 습관을 들이는 것이 좋습니다. 이렇게 하면 문법 오류(syntax error)뿐 아니라 참조 오류 등 다양한 런타임 에러를 사전에 예방할 수 있습니다.