ES6 modülleri her zaman katı moddadır. Spesifikasyonun ilgili kısmını alıntılamak için :
10.2.1 Katı Mod Kodu
ECMAScript Script sözdizimsel birimi, kısıtlanmamış veya katı mod sözdizimi ve anlambilimi kullanılarak işlenebilir. Kod, aşağıdaki durumlarda katı mod kodu olarak yorumlanır:
- Genel kod, Sıkı Kullanım Direktifi içeren bir Direktif Prologuyla başlarsa katı mod kodudur (bkz. 14.1.1).
- Modül kodu her zaman katı mod kodudur.
- Bir ClassDeclaration veya bir ClassExpression öğesinin tüm bölümleri katı mod kodudur.
- Eval kodu, Use Strict Directive içeren bir Directive Prologue ile başlarsa veya eval çağrısı doğrudan katı mod kodunda bulunan bir doğrudan eval (bkz. 12.3.4.1) ise katı mod kodudur.
- İlişkili FunctionDeclaration, FunctionExpression, GeneratorDeclaration, GeneratorExpression, MethodDefinition veya ArrowFunction, katı mod kodunda bulunuyorsa veya işlevin [[ECMAScriptCode]] iç yuvasının değerini üreten kod bir Directive Prologue ile başlıyorsa işlev kodu katı mod kodudur. Sıkı Kullan Direktifi içeren.
- Son işlev, işlendiğinde Sıkı Kullanım Yönergesi içeren bir Yönerge Prolog ile başlayan bir FunctionBody ise, yerleşik Function ve Generator yapıcılarına bağımsız değişkenler olarak sağlanan işlev kodu katı mod kodudur.