Poor support for functions/namespaces. #749
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If you look at the specification for
console[1], you'll note that it's a namespace, not an interface (like most things). Furthermore, MDN lists its methods as "static".But it's a pretty weird namespace IMO, because some of its "functions", like
countcan have state associated with them.This causes some problems with our current implementation. Something like:
Fails, since
thisisn't our window-attached Console instance.This commit introducing a new
static_XYZnaming convention which does not have the class/Self as a receiver:This turns Console into a namespace for these specific functions, while still being used normally for those functions that require state.
We could infer this behavior from the first parameter, but that seems more error prone. For now, I prefer having the explicit
static_prefix.[1] https://console.spec.whatwg.org/#console-namespace