kangax example is tested for:
alert(function(){
'use strict';
function f() { return 1; }
{
function f() { return 2; }
}
return f() === 1;
}());
this means that the "lift" function behaves the same as let(vs var).
ES5 "", , for, if, try .., 2- f() "clobber" 1-, ES6-compat, f() , , f, 1- .
ES6 ({ ... }) , . , ES6, , - , , , - ; JS.