While most script engines support function declarations within blocks, from browser to browser, the implementations are inconsistent with each other.


== Noncompliant Code Example

----
if (x) {
  function foo() {} //foo is hoisted in Chrome, Firefox and Safari, but not in Edge.
}
----


== Compliant Solution

----
if (x) {
  const foo = function() {}
}
----

