JavaScript에서 함수 이름과 변수 이름의 충돌
위에서 설명한 내용으로부터, 동일한 이름을 가진 변수와 함수의 존재는 쉽게 문제를 일으킬 수 있습니다.
다음 예제에서 함수 func는
덮어쓰여지고 그 대신 문자열 'string'가
됩니다:
function func() {
return '!';
}
func = 'string'; // 함수가 담긴 변수를 문자열로 덮어씁니다
func(); // func가 함수가 아니므로 오류가 발생합니다
이러한 일이 발생하지 않도록 하려면, 모든 프로그래밍 언어에 공통적인 규칙을 준수해야 합니다: 함수는 동사로, 변수는 명사로 지어야 합니다.