[JavaScript] Improved function parameter bindings (and tests). #1423
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.
Adapted variable binding pattern logic from #1338 to handle function parameters, finishing #1102. Should now cover all corner cases. Added comprehensive tests.
Notes:
punctuation.separator.parameter
rather thanpunctuation.separator.comma
. I preserve the old behavior here. I'm not sure what the reason is for the distinction.meta.parameter.optional
. This is not a standard scope, and I'm not sure what its purpose would be. (No other syntaxes appear to use this scope, excepting syntaxes derived directly from this one.) If we do want to differentiate parameters with initializers, I'm open to suggestions on how to do it.meta.block
. I have replaced that scope withmeta.binding.destructuring.mapping
.