fix: fix the example of proxy limitations for Map
#3593
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.
The previous example had a bug where you couldn't call
size
property from the proxiedMap
and doing such would raise an error of:How to reproduce the bug in the example
1- According to the previous example, we have this code snippet:
2- We get an error suggesting that
Map.prototype.size
called on incompatible receiver.How to fix:
1- We shouldn't pass all
arguments
to theReflect.get
as it forwards thereceiver
parameter, and causes the error above.2- We just need to pass
target
andprop
parameters to theReflect.get
method.3- Now we can remove the unused
receiver
parameter from the method signature.4- This will lead us to the code snippet below, which works fine with both methods and properties of the
Map
object.This PR provides a more general-purpose, yet simple example that works with both methods and properties.