JS Built-ins
π
en
|
es
Apprentice
0 XP
β
Search
βK
Exam β
Stats β
Learning Path
β
β°
β Home
Object
0 / 150 completed (0%)
All Difficulties
Beginner
Intermediate
Advanced
All
Not Started
Attempted
Completed
Exercises (150)
β
Object() β create empty object
Beginner
β
Object() β wrap a primitive value
Beginner
β
Object(null) β returns empty object
Beginner
β
Object(undefined) β returns empty object
Beginner
β
Object(obj) β returns the same reference
Intermediate
β
Object.assign() β merge two objects
Beginner
β
Object.assign() β multiple sources
Beginner
β
Object.assign() β shallow clone
Beginner
β
Object.assign() β apply defaults
Intermediate
β
Object.assign() β return value is the target
Beginner
β
Object.create() β create with prototype
Beginner
β
Object.create() β access inherited methods
Intermediate
β
Object.create(null) β no prototype
Intermediate
β
Object.create() β inherited property access
Intermediate
β
Object.create() β verify with getPrototypeOf
Intermediate
β
Object.defineProperties() β define multiple at once
Beginner
β
Object.defineProperties() β non-writable property
Intermediate
β
Object.defineProperties() β non-enumerable property
Intermediate
β
Object.defineProperties() β configurable: false prevents deletion
Advanced
β
Object.defineProperties() β value and writable together
Intermediate
β
Object.defineProperty() β define a value property
Beginner
β
Object.defineProperty() β non-writable property
Intermediate
β
Object.defineProperty() β non-enumerable property
Intermediate
β
Object.defineProperty() β getter descriptor
Advanced
β
Object.defineProperty() β configurable: false
Advanced
β
Object.entries() β basic key-value pairs
Beginner
β
Object.entries() β only own enumerable properties
Beginner
β
Object.entries() β string values
Intermediate
β
Object.entries() β order matches Object.keys
Beginner
β
Object.entries() β convert object to Map
Intermediate
β
Object.freeze() β prevent modification
Beginner
β
Object.freeze() β Object.isFrozen returns true
Beginner
β
Object.freeze() β returns same reference
Beginner
β
Object.freeze() β shallow (nested objects not frozen)
Intermediate
β
Object.freeze() β adding a property fails silently
Beginner
β
Object.fromEntries() β array of pairs to object
Beginner
β
Object.fromEntries() β Map to object
Beginner
β
Object.fromEntries() β reverse of Object.entries
Beginner
β
Object.fromEntries() β transform values
Intermediate
β
Object.fromEntries() β empty iterable
Beginner
β
Object.getOwnPropertyDescriptor() β basic descriptor
Beginner
β
Object.getOwnPropertyDescriptor() β undefined for missing
Beginner
β
Object.getOwnPropertyDescriptor() β getter descriptor
Intermediate
β
Object.getOwnPropertyDescriptor() β inherited returns undefined
Intermediate
β
Object.getOwnPropertyDescriptor() β check specific flags
Beginner
β
Object.getOwnPropertyDescriptors() β get all descriptors
Beginner
β
Object.getOwnPropertyDescriptors() β inspect all flags
Intermediate
β
Object.getOwnPropertyDescriptors() β clone with Object.create
Intermediate
β
Object.getOwnPropertyDescriptors() β includes non-enumerable
Intermediate
β
Object.getOwnPropertyDescriptors() β Symbol properties separate
Intermediate
β
Object.getOwnPropertyNames() β all own string keys
Beginner
β
Object.getOwnPropertyNames() β vs Object.keys
Intermediate
β
Object.getOwnPropertyNames() β empty object
Beginner
β
Object.getOwnPropertyNames() β array-like includes length
Intermediate
β
Object.getOwnPropertyNames() β inherited not included
Beginner
β
Object.getOwnPropertySymbols() β returns Symbol keys
Intermediate
β
Object.getOwnPropertySymbols() β empty when no symbols
Beginner
β
Object.getOwnPropertySymbols() β Object.keys misses symbols
Beginner
β
Object.getOwnPropertySymbols() β Symbol created with Symbol()
Beginner
β
Object.getOwnPropertySymbols() β multiple symbols
Beginner
β
Object.getPrototypeOf() β plain object prototype
Beginner
β
Object.getPrototypeOf() β array prototype
Beginner
β
Object.getPrototypeOf() β null prototype
Beginner
β
Object.getPrototypeOf() β class instance prototype
Intermediate
β
Object.getPrototypeOf() β function prototype
Intermediate
β
Object.groupBy() β group by property value
Intermediate
β
Object.groupBy() β group numbers by even/odd
Intermediate
β
Object.groupBy() β group strings by length
Intermediate
β
Object.groupBy() β empty array
Beginner
β
Object.groupBy() β group by first letter
Intermediate
β
Object.hasOwn() β own property returns true
Beginner
β
Object.hasOwn() β missing property returns false
Beginner
β
Object.hasOwn() β inherited property returns false
Intermediate
β
Object.hasOwn() β vs hasOwnProperty
Intermediate
β
Object.hasOwn() β works on null-prototype objects
Intermediate
β
Object.is() β NaN equals NaN
Beginner
β
Object.is() β distinguishes +0 from -0
Beginner
β
Object.is() β same value returns true
Beginner
β
Object.is() β different values return false
Beginner
β
Object.is() β null equals null
Beginner
β
Object.isExtensible() β plain object
Beginner
β
Object.isExtensible() β after preventExtensions
Beginner
β
Object.isExtensible() β after freeze
Intermediate
β
Object.isExtensible() β after seal
Intermediate
β
Object.isExtensible() β combining checks
Intermediate
β
Object.isFrozen() β plain object
Beginner
β
Object.isFrozen() β after Object.freeze
Beginner
β
Object.isFrozen() β empty object after preventExtensions
Intermediate
β
Object.isFrozen() β after seal (not frozen)
Intermediate
β
Object.isFrozen() β deeply nested objects
Advanced
β
Object.isSealed() β plain object
Beginner
β
Object.isSealed() β after Object.seal
Beginner
β
Object.isSealed() β after Object.freeze
Intermediate
β
Object.isSealed() β empty non-extensible object
Intermediate
β
Object.isSealed() β using in practice
Intermediate
β
Object.keys() β basic usage
Beginner
β
Object.keys() β inherited properties excluded
Beginner
β
Object.keys() β non-enumerable properties
Intermediate
β
Object.keys() β array-like objects
Beginner
β
Object.keys() β counting and iterating
Beginner
β
Object.preventExtensions() β basics
Beginner
β
Object.preventExtensions() β verify with isExtensible
Beginner
β
Object.preventExtensions() β existing props modifiable
Intermediate
β
Object.preventExtensions() β prototype not affected
Intermediate
β
Object.preventExtensions() β in strict mode throws
Intermediate
β
Object.seal() β basics
Beginner
β
Object.seal() β cannot delete properties
Beginner
β
Object.seal() β writable properties remain writable
Intermediate
β
Object.seal() β checking with isSealed
Beginner
β
Object.seal() β returns the same object
Beginner
β
Object.setPrototypeOf() β basics
Intermediate
β
Object.setPrototypeOf() β set to null
Intermediate
β
Object.setPrototypeOf() β verify with getPrototypeOf
Intermediate
β
Object.setPrototypeOf() β inheritance chain
Advanced
β
Object.setPrototypeOf() β returns the object
Beginner
β
Object.values() β basic usage
Beginner
β
Object.values() β insertion order
Beginner
β
Object.values() β non-enumerable excluded
Intermediate
β
Object.values() β inherited not included
Intermediate
β
Object.values() β empty object
Beginner
β
hasOwnProperty() β basics
Beginner
β
hasOwnProperty() β vs inherited
Beginner
β
hasOwnProperty() β inherited from Object.prototype
Intermediate
β
hasOwnProperty() β after delete
Beginner
β
hasOwnProperty() β safe null-prototype usage
Intermediate
β
isPrototypeOf() β basics
Beginner
β
isPrototypeOf() β deeper chain
Intermediate
β
isPrototypeOf() β unrelated objects
Beginner
β
isPrototypeOf() β null prototype
Intermediate
β
isPrototypeOf() β vs instanceof
Intermediate
β
propertyIsEnumerable() β basics
Beginner
β
propertyIsEnumerable() β inherited property
Intermediate
β
propertyIsEnumerable() β non-enumerable via defineProperty
Intermediate
β
propertyIsEnumerable() β array indices
Beginner
β
propertyIsEnumerable() β after defineProperty with enumerable:false
Advanced
β
toLocaleString() β plain object default
Beginner
β
toLocaleString() β number
Beginner
β
toLocaleString() β custom override
Intermediate
β
toLocaleString() β array delegation
Intermediate
β
toLocaleString() β inherited from Object.prototype
Beginner
β
toString() β plain object default
Beginner
β
toString() β Object.prototype.toString.call(null)
Intermediate
β
toString() β Object.prototype.toString.call([]) for arrays
Intermediate
β
toString() β custom override
Intermediate
β
toString() β Object.prototype.toString.call(42)
Intermediate
β
valueOf() β plain object
Beginner
β
valueOf() β Number valueOf
Beginner
β
valueOf() β Boolean valueOf
Beginner
β
valueOf() β custom valueOf override
Intermediate
β
valueOf() β implicit conversion in arithmetic
Intermediate