Unambiguous JavaScript Grammar
github.com
github.com
Literally every difference that they list is strict mode (and the usual misunderstanding of |this|)
Lhs.foo()
Lhs[foo]()
And
Foo() // where lhs is implied to be the scope object defining Foo
The last one seems to be what makes everyone super confused, but it is logically:
GetScopeWith("foo").foo()
Strict mode changes /one/ thing about|this|: whether the value of |this| undergoes object coercion
function foo(value) {
value = value || '';
var args = [].slice.call(arguments);
args.unshift(this);
return args;
}
foo(null);
export {};
If your module does nothing but side-effects during load time, screw you.I think being explicit about the intent of your code is a good thing after all.
Criticizes it anyway .. something something JS is bad. Thanks for your high level input.