자바 스크립트 소스 코드를 읽는 동안 자주이 두 줄을 맨 위에 표시합니다.'use strict'를 사용하는`jshint globalstrict : true`의 목적
/* jshint globalstrict: true */
'use strict';
지금, 나는 아주 잘 'use strict';
의 목적을 알고 있습니다. 누군가가 내게 왜 jshint globalstrict
이 포함되어 있는지 알려 줄 수 있습니까?
자바 스크립트 소스 코드를 읽는 동안 자주이 두 줄을 맨 위에 표시합니다.'use strict'를 사용하는`jshint globalstrict : true`의 목적
/* jshint globalstrict: true */
'use strict';
지금, 나는 아주 잘 'use strict';
의 목적을 알고 있습니다. 누군가가 내게 왜 jshint globalstrict
이 포함되어 있는지 알려 줄 수 있습니까?
JSHint (분기 코드 JSLint)는 JavaScript 코드에서 실행되는 인기있는 "lint checker"입니다. 코드를 실행하거나 수정하지는 않지만 코드를 분석하고 다양한 잠재적 인 오류 또는 발견 된 잘못된 사례를보고합니다.
JavaScript 파일 상단에 'use strict';
이있는 경우 JavaScript 기능 외부에서 전체 파일에 엄격 모드가 사용됩니다. 기본적으로 JSHint는 경고를보고합니다.
'use strict';
window.permissions = null;
function initialize() {
window.permissions = 0;
}
Warnings
1: Use the function form of "use strict".
많은 사람들이 자동으로 자바 스크립트가 사용자에게 보내기 전에 파일을 함께 연결하여, 이러한 경우에 최상위 'use strict;'
버그가 발생할 수 있기 때문입니다. 예를 들어, main.js
의 상단에 'use strict';
이 있고 비 엄격 모드 controls.js
과 연결되어있는 경우 무의식적으로 controls.js
의 코드에 엄격 모드가 적용되어 동작이 변경 될 수 있습니다. 이 귀하의 경우에 일어날 수있는 경우
// This code is fine on its own, but will break if strict mode is applied.
document.querySelector('.upgade').onclick = function() {
window.permissions = 0777;
}
, 당신은 당신의 파일의 최상위에서 'use strict';
을 피해야한다. 연결의 부작용을 피하려면 전체 파일 in a self-executing function을 사용할 수 있습니다. 당신이 연결에 대해 걱정할 필요가 없다는 것을 확신하고 코드를 수정하지 않으려면
(function() {
'use strict';
window.permissions = null;
function initialize() {
window.permissions = 0;
}
}());
그러나, JSHint에 대한 globalstrict
옵션은이 경고를 비활성화합니다. .jshintrc
파일이나 --config
명령 줄 플래그를 사용하여 JSHint 옵션을 지정하는 것은 also possible이지만 대부분의 경우 파일에서 주석을 사용하여 본 "인라인 구성"이 가장 쉽습니다.
/* jshint globalstrict: true */
그래서 globalstrict : true는 'use strict'가 다른 방식으로보고했을 것이라고 경고합니다. – runtimeZero
꽤 많이. JSHint가 다른 방법으로 * 'use strict'를보고했을 것이라는 경고를 표시하지 않습니다. –