Leiste mit Community-Erfolgen erweitern.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.

GELÖST

Is "use strict" required to be in every java script file in AEM?

Avatar

Level 4
The purpose of "use strict" is to indicate that the code should be executed in "strict mode". With strict mode you can not use undeclared variables.

My question is, do we need to have this in every piece of custom Javascript file? Can it be set at global level or can we ask AEM to use "use strict" for all Javascript files at global or instance level?
 
(function($,document) {
"use strict";
...
})(Granite.$, document);
Themen

Anhand von Themen werden Community-Inhalte kategorisiert und Sie können so relevanten Inhalt besser finden.

1 Akzeptierte Lösung

Avatar

Korrekte Antwort von
Community Advisor
 

"use strict" applies only to function or program scope. So if you have fileA.js with "use strict" at the top, fileA.js executes in strict mode, and all functions defined in it will do the same when called. But fileB.js is a separate program, so the "use strict" from fileA.js doesn't apply to it.

 

The entire file :

<script...>
  "use strict";

or

The entire function and its embedded functions for example :

function fn(){
  "use strict";

 

Check this for more detail before applying for the entire file

https://stackoverflow.com/questions/2343608/in-ecmascript5-whats-the-scope-of-use-strict

 

 

Arun Patidar

AEM LinksLinkedIn

Lösung in ursprünglichem Beitrag anzeigen

2 Antworten

Avatar

Community Advisor

Hi,

 

In any custom file where we need the strict scope to be applied, the 'use strict' must be added there itself. So far not came across a global way to do that. We can see if Adobe staff can confirm.

 

Avatar

Korrekte Antwort von
Community Advisor
 

"use strict" applies only to function or program scope. So if you have fileA.js with "use strict" at the top, fileA.js executes in strict mode, and all functions defined in it will do the same when called. But fileB.js is a separate program, so the "use strict" from fileA.js doesn't apply to it.

 

The entire file :

<script...>
  "use strict";

or

The entire function and its embedded functions for example :

function fn(){
  "use strict";

 

Check this for more detail before applying for the entire file

https://stackoverflow.com/questions/2343608/in-ecmascript5-whats-the-scope-of-use-strict

 

 

Arun Patidar

AEM LinksLinkedIn