v8  9.4.146 (node 16.13.0)
V8 is Google's open source JavaScript engine
Value Class Reference

#include <v8.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
 
bool IsTrue () const
 
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 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 IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsBigInt64Array () const
 
bool IsBigUint64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWasmMemoryObject () const
 
bool IsWasmModuleObject () const
 
bool IsModuleNamespaceObject () 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)
 
template<class T >
ValueCast (T *value)
 
template<>
V8_INLINE ValueCast (Data *value)
 
- Public Member Functions inherited from Data
bool IsValue () const
 
bool IsModule () 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 2723 of file v8.h.

Member Function Documentation

◆ BooleanValue()

bool BooleanValue ( Isolate isolate) const

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

◆ Cast() [1/3]

V8_INLINE Value* Cast ( Data value)

Definition at line 11806 of file v8.h.

◆ Cast() [2/3]

static V8_INLINE Value* Cast ( T *  value)
static

◆ Cast() [3/3]

Value* Cast ( T *  value)

Definition at line 11801 of file v8.h.

◆ Equals()

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

JS ==

◆ 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().

◆ IntegerValue()

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

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

◆ 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.

◆ 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.

◆ 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 11749 of file v8.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 11766 of file v8.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.

◆ 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 11784 of file v8.h.

◆ 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.

Referenced by ScriptOrigin::ScriptOrigin().

◆ 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 11731 of file v8.h.

◆ IsWasmMemoryObject()

bool IsWasmMemoryObject ( ) const

Returns true if this value is a WasmMemoryObject.

◆ IsWasmModuleObject()

bool IsWasmModuleObject ( ) const

Returns true if this value is a WasmModuleObject.

◆ IsWeakMap()

bool IsWeakMap ( ) const

Returns true if this value is a WeakMap.

◆ 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().

◆ 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.

◆ ToBigInt()

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

Perform the equivalent of BigInt(value) in JS.

◆ 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.

◆ 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.

◆ 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.

◆ ToNumber()

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

Perform the equivalent of Number(value) in JS.

◆ ToObject()

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

Perform the equivalent of Object(value) in JS.

◆ ToString()

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

Perform the equivalent of String(value) in JS.

◆ 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.

◆ TypeOf()

Local<String> TypeOf ( Isolate )

◆ Uint32Value()

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

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


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