Comments (2)
Is searchParams
enumerable? I think a URL
will land here:
Line 416 in b8c9954
Oh... unless you're saying the property that houses Symbol(query)
is enumerable?
from deep-eql.
Hey @keithamus,
Oh... unless you're saying the property that houses
Symbol(query)
is enumerable?
Yes! Symbol(query)
is enumerable, and in Node.js < v18.17.0, Symbol(query)
it was always present. Now, in Node.js v18.17.0 (or any version using Ada), Symbol(query)
is lazily computed once searchParams
is accessed. We can see that here:
Node.js v18.17.0
$ node
Welcome to Node.js v18.17.0.
Type ".help" for more information.
> var url = new URL('foo://bar')
undefined
> Object.getOwnPropertyNames(url)
[]
> Object.getOwnPropertySymbols(url)
[ Symbol(context) ] // ← Symbol(query) is missing
> void url.searchParams
undefined
> Object.getOwnPropertyNames(url)
[]
> Object.getOwnPropertySymbols(url)
[ Symbol(context), Symbol(query) ] // ← Symbol(query) is present and enumerable after accessing searchParams
Node.js v18.13.0
$ node
Welcome to Node.js v18.13.0.
Type ".help" for more information.
> var url = new URL('foo://bar')
undefined
> Object.getOwnPropertyNames(url)
[]
> Object.getOwnPropertySymbols(url)
[ Symbol(context), Symbol(query) ] // ← Symbol(query) is present and enumerable
> void url.searchParams
undefined
> Object.getOwnPropertyNames(url)
[]
> Object.getOwnPropertySymbols(url)
[ Symbol(context), Symbol(query) ] // ← Symbol(query) is still present and enumerable
from deep-eql.
Related Issues (20)
- 'function' comparison
- objectEqual Sorts Keys Before Compare HOT 2
- Build failing due to change in error comparison algo HOT 2
- New version not automatically released HOT 4
- Assertion error does not state problematic parts for Maps HOT 1
- Comparison between uninitialized arrays fail HOT 3
- Get mismatch info? HOT 1
- Deep equality with a set depth
- Test project in Safari, Chrome, Firefox and Edge in the GitHub action
- URLSearchParams deep equal not working HOT 2
- Add TypeScript types
- Update karma package version to the newer one to support newer nodejs version HOT 1
- ChainAlert: new npm maintainer has published version 4.0.1 of package deep-eql
- Support for tc39/proposal-temporal HOT 1
- TypeError: Cannot convert a Symbol value to a string
- Don’t compare non-enumerable symbols HOT 4
- Feature request: Add possibility to exclude/omit keys when comparing objects HOT 2
- Loosely comparator with Set gives false result HOT 1
- comparing a fake Map, Set, etc throws HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deep-eql.