Fundamental objects
Core objects that form the foundation of JavaScript’s object model.Object
The base prototype for all JavaScript objects. Provides fundamental methods for object manipulation.Static methods
Static methods
Object.create(proto, properties?)- Create object with specified prototypeObject.assign(target, ...sources)- Copy properties from sources to targetObject.keys(obj)- Return array of enumerable property namesObject.values(obj)- Return array of enumerable property valuesObject.entries(obj)- Return array of [key, value] pairsObject.fromEntries(entries)- Create object from [key, value] pairsObject.getPrototypeOf(obj)- Get object’s prototypeObject.setPrototypeOf(obj, proto)- Set object’s prototypeObject.defineProperty(obj, prop, descriptor)- Define property with descriptorObject.defineProperties(obj, descriptors)- Define multiple propertiesObject.getOwnPropertyDescriptor(obj, prop)- Get property descriptorObject.getOwnPropertyDescriptors(obj)- Get all property descriptorsObject.getOwnPropertyNames(obj)- Get all own property namesObject.getOwnPropertySymbols(obj)- Get all own symbol propertiesObject.freeze(obj)- Freeze object (prevent modifications)Object.seal(obj)- Seal object (prevent property additions)Object.preventExtensions(obj)- Prevent adding new propertiesObject.isFrozen(obj)- Check if object is frozenObject.isSealed(obj)- Check if object is sealedObject.isExtensible(obj)- Check if object is extensibleObject.is(value1, value2)- Same-value equality comparisonObject.hasOwn(obj, prop)- Check if object has own property
Instance methods
Instance methods
obj.hasOwnProperty(prop)- Check for own propertyobj.propertyIsEnumerable(prop)- Check if property is enumerableobj.toString()- String representationobj.valueOf()- Primitive value of object
Function
The constructor for function objects.Instance methods
Instance methods
fn.call(thisArg, ...args)- Call function with specifiedthisfn.apply(thisArg, argsArray)- Call function withthisand arguments arrayfn.bind(thisArg, ...args)- Create bound function
Boolean
Wrapper object for boolean values.new Boolean(value)- Create Boolean objectBoolean.prototype.valueOf()- Get primitive boolean valueBoolean.prototype.toString()- Convert to string “true” or “false”
Symbol
Unique and immutable primitive values used as object property keys.Numbers and dates
Number
Wrapper object for numeric values with utility methods.Static properties
Static properties
Number.NaN- Not-a-Number valueNumber.POSITIVE_INFINITY- Positive infinityNumber.NEGATIVE_INFINITY- Negative infinityNumber.MAX_SAFE_INTEGER- Maximum safe integer (2^53 - 1)Number.MIN_SAFE_INTEGER- Minimum safe integer (-(2^53 - 1))Number.EPSILON- Smallest representable positive number
Static methods
Static methods
Number.isNaN(value)- Check if value is NaN (no coercion)Number.isFinite(value)- Check if value is finite (no coercion)Number.isInteger(value)- Check if value is an integerNumber.isSafeInteger(value)- Check if value is a safe integerNumber.parseInt(string, radix?)- Parse integer from stringNumber.parseFloat(string)- Parse float from string
Instance methods
Instance methods
num.toString(radix?)- Convert to string in given radixnum.valueOf()- Get primitive number valuenum.toFixed(digits)- Format with fixed decimal placesnum.toPrecision(precision)- Format with specified precisionnum.toExponential(fractionDigits)- Format in exponential notation
Math
Mathematical functions and constants.Math is a namespace object, not a constructor.
Constants
Constants
Math.PI- π (3.141592653589793)Math.E- Euler’s number (2.718281828459045)Math.LN2- Natural logarithm of 2Math.LN10- Natural logarithm of 10Math.LOG2E- Base 2 logarithm of EMath.LOG10E- Base 10 logarithm of EMath.SQRT2- Square root of 2Math.SQRT1_2- Square root of 1/2
Basic operations
Basic operations
Math.abs(x)- Absolute valueMath.sign(x)- Sign of number (-1, 0, or 1)Math.floor(x)- Round down to integerMath.ceil(x)- Round up to integerMath.round(x)- Round to nearest integerMath.trunc(x)- Remove fractional partMath.max(...values)- Maximum valueMath.min(...values)- Minimum valueMath.random()- Random number [0, 1)
Exponential and logarithmic
Exponential and logarithmic
Math.pow(base, exp)- PowerMath.sqrt(x)- Square rootMath.cbrt(x)- Cube rootMath.exp(x)- e^xMath.expm1(x)- e^x - 1Math.log(x)- Natural logarithmMath.log10(x)- Base 10 logarithmMath.log2(x)- Base 2 logarithmMath.log1p(x)- Natural log of 1 + x
Trigonometric
Trigonometric
Math.sin(x),Math.cos(x),Math.tan(x)- Trigonometric functionsMath.asin(x),Math.acos(x),Math.atan(x)- Inverse trigonometricMath.atan2(y, x)- Arctangent of quotientMath.sinh(x),Math.cosh(x),Math.tanh(x)- Hyperbolic functionsMath.asinh(x),Math.acosh(x),Math.atanh(x)- Inverse hyperbolic
Other
Other
Math.hypot(...values)- Square root of sum of squaresMath.fround(x)- Round to 32-bit floatMath.clz32(x)- Count leading zero bitsMath.imul(a, b)- 32-bit integer multiplication
Text processing
String
Wrapper object for string primitives with extensive text manipulation methods.Static methods
Static methods
String.fromCharCode(...codes)- Create string from UTF-16 code unitsString.fromCodePoint(...codePoints)- Create string from Unicode code pointsString.raw(template, ...substitutions)- Raw template string
Instance methods - access
Instance methods - access
str.charAt(index)- Character at indexstr.charCodeAt(index)- UTF-16 code unit at indexstr.codePointAt(index)- Unicode code point at indexstr.at(index)- Character at index (supports negative)
Instance methods - search
Instance methods - search
str.indexOf(searchString, position?)- First occurrence indexstr.lastIndexOf(searchString, position?)- Last occurrence indexstr.includes(searchString, position?)- Check if contains substringstr.startsWith(searchString, position?)- Check if starts withstr.endsWith(searchString, length?)- Check if ends withstr.search(regexp)- Search using regular expressionstr.match(regexp)- Match against regular expression
Instance methods - transform
Instance methods - transform
str.toLowerCase()- Convert to lowercasestr.toUpperCase()- Convert to uppercasestr.toLocaleLowerCase()- Locale-aware lowercasestr.toLocaleUpperCase()- Locale-aware uppercasestr.trim()- Remove whitespace from both endsstr.trimStart()/str.trimLeft()- Remove leading whitespacestr.trimEnd()/str.trimRight()- Remove trailing whitespacestr.normalize(form?)- Unicode normalization
Instance methods - manipulation
Instance methods - manipulation
str.slice(start, end?)- Extract substringstr.substring(start, end?)- Extract substring (different behavior)str.concat(...strings)- Concatenate stringsstr.repeat(count)- Repeat stringstr.padStart(length, padString?)- Pad at startstr.padEnd(length, padString?)- Pad at endstr.split(separator, limit?)- Split into arraystr.replace(pattern, replacement)- Replace first matchstr.replaceAll(pattern, replacement)- Replace all matches
Instance methods - other
Instance methods - other
str.toString()- String representationstr.valueOf()- Primitive string value
RegExp
Regular expression pattern matching.Indexed collections
Array
Ordered collections with extensive manipulation methods.Static methods
Static methods
Array.isArray(value)- Check if value is an arrayArray.from(arrayLike, mapFn?)- Create array from iterable/array-likeArray.of(...elements)- Create array from arguments
Mutating methods
Mutating methods
arr.push(...elements)- Add to endarr.pop()- Remove from endarr.unshift(...elements)- Add to startarr.shift()- Remove from startarr.splice(start, deleteCount, ...items)- Add/remove elementsarr.reverse()- Reverse in placearr.sort(compareFn?)- Sort in placearr.fill(value, start?, end?)- Fill with static valuearr.copyWithin(target, start, end?)- Shallow copy within array
Non-mutating methods
Non-mutating methods
arr.slice(start?, end?)- Extract subarrayarr.concat(...values)- Concatenate arraysarr.join(separator?)- Join elements to stringarr.at(index)- Element at index (supports negative)arr.toReversed()- Reversed copyarr.toSorted(compareFn?)- Sorted copyarr.toSpliced(start, deleteCount, ...items)- Spliced copyarr.with(index, value)- Copy with element replaced
Search methods
Search methods
arr.indexOf(searchElement, fromIndex?)- First index of elementarr.lastIndexOf(searchElement, fromIndex?)- Last index of elementarr.includes(searchElement, fromIndex?)- Check if contains elementarr.find(predicate)- First element matching predicatearr.findIndex(predicate)- Index of first matching elementarr.findLast(predicate)- Last element matching predicatearr.findLastIndex(predicate)- Index of last matching element
Iteration methods
Iteration methods
arr.forEach(callback)- Execute function for each elementarr.map(callback)- Transform each elementarr.filter(predicate)- Filter elementsarr.reduce(callback, initialValue?)- Reduce to single valuearr.reduceRight(callback, initialValue?)- Reduce right-to-leftarr.every(predicate)- Test if all elements matcharr.some(predicate)- Test if any element matchesarr.flat(depth?)- Flatten nested arraysarr.flatMap(callback)- Map and flatten
Keyed collections
Map
Key-value pairs with any value as key.Set
Unique values collection.WeakMap
Weakly-held key-value pairs (keys must be objects).WeakSet
Weakly-held unique objects.Control abstraction
Promise
Asynchronous operation representation.Constructor
Constructor
Static methods
Static methods
Promise.resolve(value)- Create resolved promisePromise.reject(reason)- Create rejected promise
Instance methods
Instance methods
promise.then(onFulfilled?, onRejected?)- Handle fulfillment/rejectionpromise.catch(onRejected)- Handle rejectionpromise.finally(onFinally)- Run cleanup code
Arc implements the core Promise API but does not yet support
Promise.all(), Promise.race(), Promise.allSettled(), or Promise.any().Generator
Generator functions and iterators.Structured data
JSON
JSON parsing and serialization.Error objects
Standard error constructors for exception handling.Error
Base error type for all exceptions
TypeError
Type-related errors (wrong type)
ReferenceError
Reference to undefined variable
RangeError
Value out of valid range
SyntaxError
Parsing/syntax errors
EvalError
Errors in eval() execution
URIError
URI encoding/decoding errors
AggregateError
Multiple errors aggregated
Implementation status
Fully implemented: Object, Function, Array, String, Number, Boolean, Symbol, Math, JSON, Promise (core), Map, Set, WeakMap, WeakSet, RegExp, Error types, Generator
Partial implementation: Promise (missing static combinators like
Promise.all())