v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Value Class Reference

#include <v8-value.h>

Inheritance diagram for Value:
Collaboration diagram for Value:

Public Member Functions

V8_INLINE bool IsUndefined () const
 
V8_INLINE bool IsNull () const
 
V8_INLINE bool IsNullOrUndefined () const
 
V8_INLINE bool IsTrue () const
 
V8_INLINE bool IsFalse () const
 
bool IsName () const
 
V8_INLINE bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBigInt () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsArgumentsObject () const
 
bool IsBigIntObject () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsAsyncFunction () const
 
bool IsGeneratorFunction () const
 
bool IsGeneratorObject () const
 
bool IsPromise () const
 
bool IsMap () const
 
bool IsSet () const
 
bool IsMapIterator () const
 
bool IsSetIterator () const
 
bool IsWeakMap () const
 
bool IsWeakSet () const
 
bool IsWeakRef () const
 
bool IsArrayBuffer () const
 
bool IsArrayBufferView () const
 
bool IsTypedArray () const
 
bool IsUint8Array () const
 
bool IsUint8ClampedArray () const
 
bool IsInt8Array () const
 
bool IsUint16Array () const
 
bool IsInt16Array () const
 
bool IsUint32Array () const
 
bool IsInt32Array () const
 
bool IsFloat16Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsBigInt64Array () const
 
bool IsBigUint64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWasmMemoryObject () const
 
bool IsWasmMemoryMapDescriptor () const
 
bool IsWasmModuleObject () const
 
bool IsWasmNull () const
 
bool IsModuleNamespaceObject () const
 
bool IsPrimitive () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< PrimitiveToPrimitive (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumericToNumeric (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< BigIntToBigInt (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumberToNumber (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToDetailString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectToObject (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< IntegerToInteger (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
Local< BooleanToBoolean (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
bool BooleanValue (Isolate *isolate) const
 
V8_WARN_UNUSED_RESULT Maybe< double > NumberValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int64_t > IntegerValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int32_t > Int32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< bool > Equals (Local< Context > context, Local< Value > that) const
 
bool StrictEquals (Local< Value > that) const
 
bool SameValue (Local< Value > that) const
 
Local< StringTypeOf (Isolate *)
 
Maybe< bool > InstanceOf (Local< Context > context, Local< Object > object)
 
uint32_t GetHash ()
 
template<>
V8_INLINE ValueCast (Data *value)
 
- Public Member Functions inherited from Data
bool IsValue () const
 
bool IsModule () const
 
bool IsModuleRequest () const
 
bool IsFixedArray () const
 
bool IsPrivate () const
 
bool IsObjectTemplate () const
 
bool IsFunctionTemplate () const
 
bool IsContext () const
 

Static Public Member Functions

template<class T>
static V8_INLINE ValueCast (T *value)
 

Detailed Description

The superclass of all JavaScript values and objects.

Definition at line 32 of file v8-value.h.

Member Function Documentation

◆ BooleanValue()

bool BooleanValue ( Isolate * isolate) const

Returns the equivalent of ToBoolean()->Value().

◆ Cast() [1/2]

template<>
V8_INLINE Value * Cast ( Data * value)

Definition at line 537 of file v8-value.h.

References V8_INLINE.

◆ Cast() [2/2]

template<class T>
static V8_INLINE Value * Cast ( T * value)
inlinestatic

Definition at line 467 of file v8-value.h.

References V8_INLINE.

◆ Equals()

V8_WARN_UNUSED_RESULT Maybe< bool > Equals ( Local< Context > context,
Local< Value > that ) const

JS ==

References V8_WARN_UNUSED_RESULT.

◆ GetHash()

uint32_t GetHash ( )

Get the hash of this value. The hash is not guaranteed to be unique. For |Object| and |Name| instances the result is equal to |GetIdentityHash|. Hashes are not guaranteed to be stable across different isolates or processes.

References V8_INLINE.

◆ InstanceOf()

Maybe< bool > InstanceOf ( Local< Context > context,
Local< Object > object )

◆ Int32Value()

V8_WARN_UNUSED_RESULT Maybe< int32_t > Int32Value ( Local< Context > context) const

Returns the equivalent of ToInt32()->Value().

References V8_WARN_UNUSED_RESULT.

◆ IntegerValue()

V8_WARN_UNUSED_RESULT Maybe< int64_t > IntegerValue ( Local< Context > context) const

Returns the equivalent of ToInteger()->Value().

References V8_WARN_UNUSED_RESULT.

◆ IsArgumentsObject()

bool IsArgumentsObject ( ) const

Returns true if this value is an Arguments object.

◆ IsArray()

bool IsArray ( ) const

Returns true if this value is an array. Note that it will return false for an Proxy for an array.

◆ IsArrayBuffer()

bool IsArrayBuffer ( ) const

Returns true if this value is an ArrayBuffer.

◆ IsArrayBufferView()

bool IsArrayBufferView ( ) const

Returns true if this value is an ArrayBufferView.

◆ IsAsyncFunction()

bool IsAsyncFunction ( ) const

Returns true if this value is an async function.

◆ IsBigInt()

bool IsBigInt ( ) const

Returns true if this value is a bigint.

This is equivalent to ‘typeof value === 'bigint’` in JS.

◆ IsBigInt64Array()

bool IsBigInt64Array ( ) const

Returns true if this value is a BigInt64Array.

◆ IsBigIntObject()

bool IsBigIntObject ( ) const

Returns true if this value is a BigInt object.

◆ IsBigUint64Array()

bool IsBigUint64Array ( ) const

Returns true if this value is a BigUint64Array.

◆ IsBoolean()

bool IsBoolean ( ) const

Returns true if this value is boolean.

This is equivalent to ‘typeof value === 'boolean’` in JS.

◆ IsBooleanObject()

bool IsBooleanObject ( ) const

Returns true if this value is a Boolean object.

◆ IsDataView()

bool IsDataView ( ) const

Returns true if this value is a DataView.

◆ IsDate()

bool IsDate ( ) const

Returns true if this value is a Date.

◆ IsExternal()

bool IsExternal ( ) const

Returns true if this value is an External object.

◆ IsFalse()

bool IsFalse ( ) const

Returns true if this value is false.

This is not the same as !BooleanValue(). The latter performs a conversion to boolean, i.e. the result of !Boolean(value) in JS, whereas this checks value === false.

Definition at line 625 of file v8-value.h.

◆ IsFloat16Array()

bool IsFloat16Array ( ) const

Returns true if this value is a Float16Array.

◆ IsFloat32Array()

bool IsFloat32Array ( ) const

Returns true if this value is a Float32Array.

◆ IsFloat64Array()

bool IsFloat64Array ( ) const

Returns true if this value is a Float64Array.

◆ IsFunction()

bool IsFunction ( ) const

Returns true if this value is a function.

This is equivalent to ‘typeof value === 'function’` in JS.

◆ IsGeneratorFunction()

bool IsGeneratorFunction ( ) const

Returns true if this value is a Generator function.

◆ IsGeneratorObject()

bool IsGeneratorObject ( ) const

Returns true if this value is a Generator object (iterator).

◆ IsInt16Array()

bool IsInt16Array ( ) const

Returns true if this value is an Int16Array.

◆ IsInt32()

bool IsInt32 ( ) const

Returns true if this value is a 32-bit signed integer.

◆ IsInt32Array()

bool IsInt32Array ( ) const

Returns true if this value is an Int32Array.

◆ IsInt8Array()

bool IsInt8Array ( ) const

Returns true if this value is an Int8Array.

◆ IsMap()

bool IsMap ( ) const

Returns true if this value is a Map.

◆ IsMapIterator()

bool IsMapIterator ( ) const

Returns true if this value is a Map Iterator.

◆ IsModuleNamespaceObject()

bool IsModuleNamespaceObject ( ) const

Returns true if the value is a Module Namespace Object.

◆ IsName()

bool IsName ( ) const

Returns true if this value is a symbol or a string.

This is equivalent to ‘typeof value === 'string’ || typeof value === 'symbol'` in JS.

References IsString(), and V8_INLINE.

◆ IsNativeError()

bool IsNativeError ( ) const

Returns true if this value is a NativeError.

◆ IsNull()

bool IsNull ( ) const

Returns true if this value is the null value. See ECMA-262 4.3.11.

This is equivalent to value === null in JS.

Definition at line 565 of file v8-value.h.

◆ IsNullOrUndefined()

bool IsNullOrUndefined ( ) const

Returns true if this value is either the null or the undefined value. See ECMA-262 4.3.11. and 4.3.12

This is equivalent to value == null in JS.

Definition at line 586 of file v8-value.h.

◆ IsNumber()

bool IsNumber ( ) const

Returns true if this value is a number.

This is equivalent to ‘typeof value === 'number’` in JS.

◆ IsNumberObject()

bool IsNumberObject ( ) const

Returns true if this value is a Number object.

◆ IsObject()

bool IsObject ( ) const

Returns true if this value is an object.

◆ IsPrimitive()

bool IsPrimitive ( ) const

Returns true if the value is a primitive.

◆ IsPromise()

bool IsPromise ( ) const

Returns true if this value is a Promise.

◆ IsProxy()

bool IsProxy ( ) const

Returns true if this value is a JavaScript Proxy.

◆ IsRegExp()

bool IsRegExp ( ) const

Returns true if this value is a RegExp.

◆ IsSet()

bool IsSet ( ) const

Returns true if this value is a Set.

◆ IsSetIterator()

bool IsSetIterator ( ) const

Returns true if this value is a Set Iterator.

◆ IsSharedArrayBuffer()

bool IsSharedArrayBuffer ( ) const

Returns true if this value is a SharedArrayBuffer.

◆ IsString()

bool IsString ( ) const

Returns true if this value is an instance of the String type. See ECMA-262 8.4.

This is equivalent to ‘typeof value === 'string’` in JS.

Definition at line 642 of file v8-value.h.

Referenced by IsName().

◆ IsStringObject()

bool IsStringObject ( ) const

Returns true if this value is a String object.

◆ IsSymbol()

bool IsSymbol ( ) const

Returns true if this value is a symbol.

This is equivalent to ‘typeof value === 'symbol’` in JS.

◆ IsSymbolObject()

bool IsSymbolObject ( ) const

Returns true if this value is a Symbol object.

◆ IsTrue()

bool IsTrue ( ) const

Returns true if this value is true.

This is not the same as BooleanValue(). The latter performs a conversion to boolean, i.e. the result of Boolean(value) in JS, whereas this checks value === true.

Definition at line 608 of file v8-value.h.

◆ IsTypedArray()

bool IsTypedArray ( ) const

Returns true if this value is one of TypedArrays.

◆ IsUint16Array()

bool IsUint16Array ( ) const

Returns true if this value is an Uint16Array.

◆ IsUint32()

bool IsUint32 ( ) const

Returns true if this value is a 32-bit unsigned integer.

◆ IsUint32Array()

bool IsUint32Array ( ) const

Returns true if this value is an Uint32Array.

◆ IsUint8Array()

bool IsUint8Array ( ) const

Returns true if this value is an Uint8Array.

◆ IsUint8ClampedArray()

bool IsUint8ClampedArray ( ) const

Returns true if this value is an Uint8ClampedArray.

◆ IsUndefined()

bool IsUndefined ( ) const

Returns true if this value is the undefined value. See ECMA-262 4.3.10.

This is equivalent to value === undefined in JS.

Definition at line 544 of file v8-value.h.

◆ IsWasmMemoryMapDescriptor()

bool IsWasmMemoryMapDescriptor ( ) const

Returns true if this value is a WasmMemoryMapDescriptor.

◆ IsWasmMemoryObject()

bool IsWasmMemoryObject ( ) const

Returns true if this value is a WasmMemoryObject.

◆ IsWasmModuleObject()

bool IsWasmModuleObject ( ) const

Returns true if this value is a WasmModuleObject.

◆ IsWasmNull()

bool IsWasmNull ( ) const

Returns true if this value is the WasmNull object.

◆ IsWeakMap()

bool IsWeakMap ( ) const

Returns true if this value is a WeakMap.

◆ IsWeakRef()

bool IsWeakRef ( ) const

Returns true if this value is a WeakRef.

◆ IsWeakSet()

bool IsWeakSet ( ) const

Returns true if this value is a WeakSet.

◆ NumberValue()

V8_WARN_UNUSED_RESULT Maybe< double > NumberValue ( Local< Context > context) const

Returns the equivalent of ToNumber()->Value().

References V8_WARN_UNUSED_RESULT.

◆ SameValue()

bool SameValue ( Local< Value > that) const

◆ StrictEquals()

bool StrictEquals ( Local< Value > that) const

◆ ToArrayIndex()

V8_WARN_UNUSED_RESULT MaybeLocal< Uint32 > ToArrayIndex ( Local< Context > context) const

Attempts to convert a string to an array index. Returns an empty handle if the conversion fails.

References V8_WARN_UNUSED_RESULT.

◆ ToBigInt()

V8_WARN_UNUSED_RESULT MaybeLocal< BigInt > ToBigInt ( Local< Context > context) const

Perform the equivalent of BigInt(value) in JS.

References V8_WARN_UNUSED_RESULT.

◆ ToBoolean()

Local< Boolean > ToBoolean ( Isolate * isolate) const

Perform the equivalent of Boolean(value) in JS. This can never fail.

◆ ToDetailString()

V8_WARN_UNUSED_RESULT MaybeLocal< String > ToDetailString ( Local< Context > context) const

Provide a string representation of this value usable for debugging. This operation has no observable side effects and will succeed unless e.g. execution is being terminated.

References V8_WARN_UNUSED_RESULT.

◆ ToInt32()

V8_WARN_UNUSED_RESULT MaybeLocal< Int32 > ToInt32 ( Local< Context > context) const

Perform the equivalent of Number(value) in JS and convert the result to a signed 32-bit integer by performing the steps in https://tc39.es/ecma262/#sec-toint32.

References V8_WARN_UNUSED_RESULT.

◆ ToInteger()

V8_WARN_UNUSED_RESULT MaybeLocal< Integer > ToInteger ( Local< Context > context) const

Perform the equivalent of Number(value) in JS and convert the result to an integer. Negative values are rounded up, positive values are rounded down. NaN is converted to 0. Infinite values yield undefined results.

References V8_WARN_UNUSED_RESULT.

◆ ToNumber()

V8_WARN_UNUSED_RESULT MaybeLocal< Number > ToNumber ( Local< Context > context) const

Perform the equivalent of Number(value) in JS.

References V8_WARN_UNUSED_RESULT.

◆ ToNumeric()

V8_WARN_UNUSED_RESULT MaybeLocal< Numeric > ToNumeric ( Local< Context > context) const

Perform ToNumeric(value) as specified in: https://tc39.es/ecma262/#sec-tonumeric.

References V8_WARN_UNUSED_RESULT.

◆ ToObject()

V8_WARN_UNUSED_RESULT MaybeLocal< Object > ToObject ( Local< Context > context) const

Perform the equivalent of Tagged<Object>(value) in JS.

References V8_WARN_UNUSED_RESULT.

◆ ToPrimitive()

V8_WARN_UNUSED_RESULT MaybeLocal< Primitive > ToPrimitive ( Local< Context > context) const

Perform ToPrimitive(value) as specified in: https://tc39.es/ecma262/#sec-toprimitive.

References V8_WARN_UNUSED_RESULT.

◆ ToString()

V8_WARN_UNUSED_RESULT MaybeLocal< String > ToString ( Local< Context > context) const

Perform the equivalent of String(value) in JS.

References V8_WARN_UNUSED_RESULT.

◆ ToUint32()

V8_WARN_UNUSED_RESULT MaybeLocal< Uint32 > ToUint32 ( Local< Context > context) const

Perform the equivalent of Number(value) in JS and convert the result to an unsigned 32-bit integer by performing the steps in https://tc39.es/ecma262/#sec-touint32.

References V8_WARN_UNUSED_RESULT.

◆ TypeOf()

Local< String > TypeOf ( Isolate * )

◆ Uint32Value()

V8_WARN_UNUSED_RESULT Maybe< uint32_t > Uint32Value ( Local< Context > context) const

Returns the equivalent of ToUint32()->Value().

References V8_WARN_UNUSED_RESULT.


The documentation for this class was generated from the following file: