JavaScript has labels, which can be placed before blocks to create a named section of code, serving almost the same use as an imidiately invoked function expression (IIFE)
(function iife(){
  var scoped = "this is scoped stuff";
})();
iife: {
  let scoped = "this is scoped";
}It can also be used to section of code in a long function, for example separating the constructor from instance declarations:
function Person(name){
  this.greet = function(){
    return "hello " + this.name
  }
  
  init: {
    this.name = name;
  }
}
var person = new Person("Marius");