UFO ET IT

JSLint가 " 'return'후 예기치 않은 'else'"에 대해 불평하는 이유는 무엇입니까?

ufoet 2020. 12. 30. 08:31
반응형

JSLint가 " 'return'후 예기치 않은 'else'"에 대해 불평하는 이유는 무엇입니까?


JSLint는 다음 (쓸모없는 예제) 코드가 유효하지 않다고 불평합니다.

(function (x) {
    "use strict";
    if (x === 1) {
        return 1;
    } else if (x === 2) {
        return -1;
    }
    return 0;
}(1));

오류 : 4 행 문자 9에 문제가 있습니다. 'return'뒤에 예기치 않은 'else'가 있습니다.

반환 1;

if / else 구조 내에서 return 문을 사용하는 것이 나쁘다는 것을 진지하게 암시합니까?

이 버전이 괜찮다고 생각합니다.

(function (x) {
    "use strict";
    var returnval = 0;
    if (x === 1) {
        returnval = 1;
    } else if (x === 2) {
        returnval = -1;
    }
    return returnval;
}(1));

그것은 단지 elsereturn가 불필요 하다는 것을 말하고 있습니다 . 다음은 괜찮습니다.

(function (x) {
    "use strict";
    if (x === 1) {
        return 1;
    }  
    if (x === 2) {
        return -1;
    }
    return 0;
}(1));

jslint에서 내가 찾은 것은 규칙을 준수하면 50 %가 우스꽝 스럽지만 코드에 부정적인 영향을 미치지 않는다는 것입니다. 나머지 50 % (약)는 좋은 혜택을 제공합니다. 나머지 50 %도 그렇게하세요. 이 특정 예제는 조건의 역 또는 유사에 대해 명시 적으로 지정하도록 강요합니다. else와 함께 암시 적으로 두는 대신 ... if / else 내 말이 동일하게 적용됩니다.


일관성을 추가하기 때문에 함수가 항상 무언가를 반환하는 것이 좋습니다. JSLint는 상당히 엄격하고 프로그래머의 감정을 상하게하는 것으로 알려져 있습니다. 도와 줄 수 없어. 개인적으로 버전 1은 괜찮은 것 같아요

참조 URL : https://stackoverflow.com/questions/9480692/why-does-jslint-complain-about-unexpected-else-after-return

반응형