반응형
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));
그것은 단지 else
후 return
가 불필요 하다는 것을 말하고 있습니다 . 다음은 괜찮습니다.
(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은 괜찮은 것 같아요
반응형
'UFO ET IT' 카테고리의 다른 글
Python에서 함수를 중첩 할 때 오버 헤드가 있습니까? (0) | 2020.12.30 |
---|---|
Java 직렬화-java.io.InvalidClassException 로컬 클래스가 호환되지 않습니다. (0) | 2020.12.30 |
제네릭으로 열거 형을 구현하는 방법은 무엇입니까? (0) | 2020.12.30 |
새로운 JSLint 오류 "탭이 아닌 공백 사용"및 "안전하지 않은 문자"가 도입 된 이유는 무엇입니까? (0) | 2020.12.30 |
유니 코드로 강제 변환 : 문자열 또는 버퍼 필요, django 관리자에서 렌더링 할 때 NoneType 발견 (0) | 2020.12.30 |