스택큐힙리스트

자바스크립트에서 "use strict"는 무엇을 하며, 그에 대한 이유는 무엇인가요? 본문

카테고리 없음

자바스크립트에서 "use strict"는 무엇을 하며, 그에 대한 이유는 무엇인가요?

스택큐힙리스트 2023. 3. 3. 13:17
반응형

최근에, 나는 내 JavaScript 코드를 Crockford의 "JSLint" 코드 분석기를 통해 실행했고, 다음과 같은 오류가 발생했습니다:

문제가 발생했습니다. 1번 라인 1번 글자: "use strict" 문이 빠져 있습니다.

조사를 하다보니 일부 사람들이 자바스크립트 코드에 ""use strict";" 를 추가한다는 것을 깨달았습니다. 해당 문장을 추가한 후, 오류가 나타나지 않게 되었습니다. 그러나 구글에서는 이 문자열 문장에 대한 역사를 많이 밝히지 않았습니다. 분명 브라우저에서 자바스크립트를 해석할 때 어떤 영향이 있을 것으로 생각됩니다만, 그 영향을 전혀 알지 못합니다.
그래서 ""use strict";"가 무엇을 의미하며 여전히 관련이 있는지 알려주세요.
현재 브라우저 중 어떤 것이 ""use strict";" 문자열에 대해 응답하는지 또는 이것은 미래 이용을 위한 것인지 여부가 있습니까?

ES6 모듈 업데이트
"native ECMAScript modules" ("import"와 "export" 문장 포함)과 "ES6 classes" 내부에서는 엄격 모드가 항상 활성화되며 비활성화할 수 없습니다.
There is no provided original answer for this prompt. Please provide a sentence or phrase to be translated to Korean.
이 자바스크립트 엄격 모드에 대한 기사는 당신에게 관심이 있을 수 있습니다: "John Resig - ECMAScript 5 Strict Mode, JSON, and More"
일부 흥미로운 부분을 인용하면:

Strict Mode는 ECMAScript 5의 새로운 기능으로, 프로그램이나 함수를 "엄격한" 운영 컨텍스트에 놓을 수 있습니다. 이 엄격한 컨텍스트는 특정 동작을 방지하고 더 많은 예외를 던집니다.

그리고:

Strict 모드는 다음과 같은 몇 가지 방법으로 도움이 됩니다.

이는 일부 일반적인 코딩 실수를 캐치하고 예외를 throw합니다.
"전역 객체에 액세스하는 등 비교적 '위험한' 동작을 수행할 때 방지하거나 오류를 throw합니다."
그것은 혼란스럽거나 제대로 생각되지 않은 기능을 비활성화합니다.


또한 전체 파일에 "strict mode"를 적용할 수 있습니다. 또는 특정 함수에만 사용할 수도 있습니다. (여전히 John Resig의 글에서 인용한 것입니다.)
"// Non-strict code... (function(){ "use strict"; // Define your library strictly... })(); // Non-strict code... "
이것은 오래된 코드와 새 코드를 혼합해야 할 때 도움이 될 수 있습니다. ;)
그래서, 저는 Perl에서 사용할 수 있는 ""use strict""와 비슷한 것 같다고 생각합니다(따라서 이름도 그렇게 지었나요?): 더 많은 끊어짐 가능성이 있는 것들을 감지함으로써 덜 실수할 수 있도록 도와줍니다.
엄격 모드는 이제 "supported by all major browsers" 이다.

"Use strict"는 JavaScript에서 코드의 더 나은 예측력과 오류 검출 능력을 제공하는 방법입니다. 이 명령은 코드 실행을 엄격한 모드로 변경합니다. 이것은 일반적으로 실수를 줄이고 안전성을 높이는 데 도움이 됩니다. JavaScript는 처음에는 비교적 간단한 언어였지만, 새로운 기능과 업데이트 덕분에 지금은 매우 강력한 언어가 되었습니다. 그러나 이전 버전의 JavaScript에서는 오류를 무시하거나 무시할 수 있는 일반적인 문제가 있었습니다. 이러한 오류는 엄격한 모드에서 잡히지 않았습니다. 결과적으로 "use strict"는 코드와 함께 사용될 때 표준을 준수하도록 JavaScript를 강제로 만듭니다. 변수를 선언하기 전에 반드시 var를 사용하도록 하여, 예기치 않은 동작을 방지합니다. 또한 전체적인 성능을 향상시키고, 코드 블록 내에서 this가 구문이 바뀌는 것을 방지하여 오류를 줄이며, 선택적 매개변수의 값이나 반환 값을 확인할 수 없는 경우는 오류를 발생시키도록 합니다. 이러한 이유로 JavaScript 코드를 작성할 때 "use strict"를 사용하는 것이 좋습니다. 웹 개발자로서 프로젝트에 대한 약간의 추가 작업이 이루어지지만, 이는 코드의 안정성과 동작 수준을 향상시키는 데 큰 도움이 됩니다. 이를테면 "use strict"를 사용하는 예시는 아래와 같습니다. ``` function countNumbers(...numbers) { "use strict"; let count = 0; for (let i = 0; i < numbers.length; i++) { count += numbers[i]; } return count; } console.log(countNumbers(1, 2, 3, 4, 5)); // 15 ``` 이 코드는 "use strict"를 사용하여 작성되었으므로, 함수가 실행되기 전에 값이 초기화되지 않은 변수가 선언되었는지 확인합니다. 이러한 유형의 코드는 보안 및 안정성 면에서 우수한 성능을 보여주며, 수많은 처리를 수행하는 데 적합합니다. "use strict"는 모든 JavaScript 코드에 권장됩니다. 이는 모든 프로그램이 일관된 방식으로 작동하도록 보장합니다. 이 글을 찾은 분들은 동적 및 개발 환경에서 코드를 더욱 강력하고 안전하게 작성하기 위해 "use strict"를 사용하는 것이 좋습니다.
반응형
Comments