'registerValidSW' was used before it was defined
48 });
49 } else {
50 // Is not localhost. Just register service worker
51 registerValidSW(swUrl, config); 52 }
53 });
54 }
'checkValidServiceWorker' was used before it was defined
36
37 if (isLocalhost) {
38 // This is running on localhost. Let's check if a service worker still exists or not.
39 checkValidServiceWorker(swUrl, config); 40
41 // Add some additional logging to localhost, pointing developers to the
42 // service worker/PWA documentation.
Description
It is recommended to use a variable only after it is defined as it might produce errors at runtime.
In JavaScript, prior to ES6, variable and function declarations are hoisted to the top of a scope, so it's possible to use identifiers before their formal declarations in code. This can be confusing and some believe it is best to always declare variables and functions before using them.
In ES6, block-level bindings (let
and const
) introduce a "temporal dead zone" where a ReferenceError
will be thrown with any attempt to access the variable before its declaration.
Bad Practice
alert(a);
var a = 10;
f();
function f() {}
function g() {
return b;
}
var b = 1;
{
alert(c);
let c = 1;
}
Recommended
var a;
a = 10;
alert(a);
function f() {}
f(1);
var b = 1;
function g() {
return b;
}
{
let c;
c++;
}