my guess: to not complicate parsing complex expressions in default parameters
// non-strict mode top-level code
function foo (complex = eval("1+1"), moreComplex = (function(){ with (this) { return bar; } }())) {
"use strict"; // go back and parse the parameters again but this time with strict mode semantics
// ...
}