ES6 모듈은 항상 엄격 모드입니다. 스펙 의 관련 부분을 인용하려면 다음을 수행 하십시오 .
10.2.1 엄격한 모드 코드
ECMAScript 스크립트 구문 단위는 제한되지 않거나 엄격 모드 구문 및 의미를 사용하여 처리 될 수 있습니다. 다음과 같은 상황에서 코드는 엄격 모드 코드로 해석됩니다.
- 전역 코드는 엄격한 사용 지침 (14.1.1 참조)이 포함 된 Directive Prologue로 시작하는 경우 엄격한 모드 코드입니다.
- 모듈 코드는 항상 엄격 모드 코드입니다.
- ClassDeclaration 또는 ClassExpression의 모든 부분은 엄격 모드 코드입니다.
- Eval 코드는 Use Strict Directive가 포함 된 Directive Prologue로 시작하거나 Eval에 대한 호출이 Strict Mode 코드에 포함 된 직접 Eval (12.3.4.1 참조) 인 경우 엄격한 모드 코드입니다.
- 연관된 FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition 또는 ArrowFunction이 엄격한 모드 코드에 포함되어 있거나 함수의 [[ECMAScriptCode]] 내부 슬롯의 값을 생성하는 코드가 Directive Prologue로 시작하는 경우 함수 코드는 엄격한 모드 코드입니다. 엄격한 사용 지침이 포함되어 있습니다.
- 마지막 인수가 처리 될 때 엄격한 지시문이 포함 된 지시문 프롤로그로 시작하는 FunctionBody 인 문자열 인 경우 내장 함수 및 생성자 생성자에 인수로 제공되는 함수 코드는 엄격한 모드 코드입니다.