2013-04-22 3 views
1

나는 자바 스크립트 문자열에 몇 가지 추가 기능을 추가 할 싶었던 다음과 같은 자바 스크립트 코드를 사용하고 있습니다 : 예기치 않은 '문자열'나는 JSLint에 대해이 코드를 실행하면, 나는 다음과 같은 오류가 발생, 그러나JSLint가 예상치 못한 '문자열'메시지를 반환하는 이유는 무엇입니까?

String.prototype.left = function (n) { 
    "use strict"; 
    return this.substring(0, n); 
} 

String.prototype.right = function (n) { 
    "use strict"; 
    return this.substring(this.length - n); 
} 

을 . 나는 오류의 의미를 확실히 알지 못한다. 오류를 피하거나 코드를 변경해야한다면 JSLint 설정에서 뭔가를 변경해야하는지 모른다.

+2

첫 번째'}'끝에 세미콜론을 넣으십시오. – Ian

+3

누락 된 세미콜론에 대한 오류 메시지가 아주 좋지 않습니다. –

+1

더글라스 크로포드 (Douglas Crawford)가 프로그래머가 이해하기 쉬운 오류 메시지를 쉽게 만들지 않겠다는 말을하는듯한 연설이 있었다고 생각합니다 ... 오 그 말이 모든 연설입니다. P –

답변

5

사용 세미콜론, 나는이와 오류/경고를 얻을 :

String.prototype.left = function (n) { 
    "use strict"; 
    return this.substring(0, n); 
}; 

String.prototype.right = function (n) { 
    "use strict"; 
    return this.substring(this.length - n); // <-- SPACE HERE 
}; 

세미콜론에 추가 한 후, 내가 위의 코멘트를 추가 예기치 않은 공백 문자에 대해 나에게 경고했다. 그래서 그 공간 (그리고 내 의견)을 제거하고 거기에 잘 검증해야합니다.

+0

아, 세미콜론! 정말 고맙습니다. 얼마나 오랫동안 그것을 쳐다 보면서 간단한 일들을 그리워하는지. – QuittersNL

+0

@QuittersNL 하하 문제 없습니다. 예, 그 문제에 대한 이상한 오류 메시지이지만, 어떤면에서는 의미가 있습니다. 어쨌든, 다행 지금은 당신을 위해 일하고 있어요 :) – Ian