V8  latest master commit
V8 is Google's open source JavaScript engine
v8::Value Class Reference

#include <v8.h>

Inheritance diagram for v8::Value:
v8::Data v8::External v8::Object v8::Primitive v8::Array v8::ArrayBuffer v8::ArrayBufferView v8::BigIntObject v8::BooleanObject v8::Date v8::Function v8::Map v8::NumberObject v8::Promise v8::Promise::Resolver v8::Proxy v8::RegExp v8::Set v8::SharedArrayBuffer v8::StringObject v8::SymbolObject v8::WasmModuleObject v8::BigInt v8::Boolean v8::Name v8::Number

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 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)
 

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

Member Function Documentation

◆ BooleanValue()

bool v8::Value::BooleanValue ( Isolate isolate) const

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

◆ Cast() [1/2]

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

◆ Cast() [2/2]

template<class T >
Value* v8::Value::Cast ( T *  value)

Definition at line 11502 of file v8.h.

◆ Equals()

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

JS ==

◆ InstanceOf()

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

◆ Int32Value()

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

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

◆ IntegerValue()

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

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

◆ IsArgumentsObject()

bool v8::Value::IsArgumentsObject ( ) const

Returns true if this value is an Arguments object.

◆ IsArray()

bool v8::Value::IsArray ( ) const

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

◆ IsArrayBuffer()

bool v8::Value::IsArrayBuffer ( ) const

Returns true if this value is an ArrayBuffer.

◆ IsArrayBufferView()

bool v8::Value::IsArrayBufferView ( ) const

Returns true if this value is an ArrayBufferView.

◆ IsAsyncFunction()

bool v8::Value::IsAsyncFunction ( ) const

Returns true if this value is an async function.

◆ IsBigInt()

bool v8::Value::IsBigInt ( ) const

Returns true if this value is a bigint.

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

◆ IsBigInt64Array()

bool v8::Value::IsBigInt64Array ( ) const

Returns true if this value is a BigInt64Array.

◆ IsBigIntObject()

bool v8::Value::IsBigIntObject ( ) const

Returns true if this value is a BigInt object.

◆ IsBigUint64Array()

bool v8::Value::IsBigUint64Array ( ) const

Returns true if this value is a BigUint64Array.

◆ IsBoolean()

bool v8::Value::IsBoolean ( ) const

Returns true if this value is boolean.

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

◆ IsBooleanObject()

bool v8::Value::IsBooleanObject ( ) const

Returns true if this value is a Boolean object.

◆ IsDataView()

bool v8::Value::IsDataView ( ) const

Returns true if this value is a DataView.

◆ IsDate()

bool v8::Value::IsDate ( ) const

Returns true if this value is a Date.

◆ IsExternal()

bool v8::Value::IsExternal ( ) const

Returns true if this value is an External object.

◆ IsFalse()

bool v8::Value::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 v8::Value::IsFloat32Array ( ) const

Returns true if this value is a Float32Array.

◆ IsFloat64Array()

bool v8::Value::IsFloat64Array ( ) const

Returns true if this value is a Float64Array.

◆ IsFunction()

bool v8::Value::IsFunction ( ) const

Returns true if this value is a function.

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

◆ IsGeneratorFunction()

bool v8::Value::IsGeneratorFunction ( ) const

Returns true if this value is a Generator function.

◆ IsGeneratorObject()

bool v8::Value::IsGeneratorObject ( ) const

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

◆ IsInt16Array()

bool v8::Value::IsInt16Array ( ) const

Returns true if this value is an Int16Array.

◆ IsInt32()

bool v8::Value::IsInt32 ( ) const

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

◆ IsInt32Array()

bool v8::Value::IsInt32Array ( ) const

Returns true if this value is an Int32Array.

◆ IsInt8Array()

bool v8::Value::IsInt8Array ( ) const

Returns true if this value is an Int8Array.

◆ IsMap()

bool v8::Value::IsMap ( ) const

Returns true if this value is a Map.

◆ IsMapIterator()

bool v8::Value::IsMapIterator ( ) const

Returns true if this value is a Map Iterator.

◆ IsModuleNamespaceObject()

bool v8::Value::IsModuleNamespaceObject ( ) const

Returns true if the value is a Module Namespace Object.

◆ IsName()

bool v8::Value::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 v8::Value::IsNativeError ( ) const

Returns true if this value is a NativeError.

◆ IsNull()

bool v8::Value::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 11450 of file v8.h.

◆ IsNullOrUndefined()

bool v8::Value::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 11467 of file v8.h.

◆ IsNumber()

bool v8::Value::IsNumber ( ) const

Returns true if this value is a number.

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

◆ IsNumberObject()

bool v8::Value::IsNumberObject ( ) const

Returns true if this value is a Number object.

◆ IsObject()

bool v8::Value::IsObject ( ) const

Returns true if this value is an object.

◆ IsPromise()

bool v8::Value::IsPromise ( ) const

Returns true if this value is a Promise.

◆ IsProxy()

bool v8::Value::IsProxy ( ) const

Returns true if this value is a JavaScript Proxy.

◆ IsRegExp()

bool v8::Value::IsRegExp ( ) const

Returns true if this value is a RegExp.

◆ IsSet()

bool v8::Value::IsSet ( ) const

Returns true if this value is a Set.

◆ IsSetIterator()

bool v8::Value::IsSetIterator ( ) const

Returns true if this value is a Set Iterator.

◆ IsSharedArrayBuffer()

bool v8::Value::IsSharedArrayBuffer ( ) const

Returns true if this value is a SharedArrayBuffer.

◆ IsString()

bool v8::Value::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 11485 of file v8.h.

◆ IsStringObject()

bool v8::Value::IsStringObject ( ) const

Returns true if this value is a String object.

◆ IsSymbol()

bool v8::Value::IsSymbol ( ) const

Returns true if this value is a symbol.

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

◆ IsSymbolObject()

bool v8::Value::IsSymbolObject ( ) const

Returns true if this value is a Symbol object.

◆ IsTrue()

bool v8::Value::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.

◆ IsTypedArray()

bool v8::Value::IsTypedArray ( ) const

Returns true if this value is one of TypedArrays.

◆ IsUint16Array()

bool v8::Value::IsUint16Array ( ) const

Returns true if this value is an Uint16Array.

◆ IsUint32()

bool v8::Value::IsUint32 ( ) const

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

◆ IsUint32Array()

bool v8::Value::IsUint32Array ( ) const

Returns true if this value is an Uint32Array.

◆ IsUint8Array()

bool v8::Value::IsUint8Array ( ) const

Returns true if this value is an Uint8Array.

◆ IsUint8ClampedArray()

bool v8::Value::IsUint8ClampedArray ( ) const

Returns true if this value is an Uint8ClampedArray.

◆ IsUndefined()

bool v8::Value::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 11432 of file v8.h.

◆ IsWasmModuleObject()

bool v8::Value::IsWasmModuleObject ( ) const

Returns true if this value is a WasmModuleObject.

◆ IsWeakMap()

bool v8::Value::IsWeakMap ( ) const

Returns true if this value is a WeakMap.

◆ IsWeakSet()

bool v8::Value::IsWeakSet ( ) const

Returns true if this value is a WeakSet.

◆ NumberValue()

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

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

◆ SameValue()

bool v8::Value::SameValue ( Local< Value that) const

◆ StrictEquals()

bool v8::Value::StrictEquals ( Local< Value that) const

◆ ToArrayIndex()

V8_WARN_UNUSED_RESULT MaybeLocal<Uint32> v8::Value::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> v8::Value::ToBigInt ( Local< Context context) const

Perform the equivalent of BigInt(value) in JS.

◆ ToBoolean()

Local<Boolean> v8::Value::ToBoolean ( Isolate isolate) const

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

◆ ToDetailString()

V8_WARN_UNUSED_RESULT MaybeLocal<String> v8::Value::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> v8::Value::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> v8::Value::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> v8::Value::ToNumber ( Local< Context context) const

Perform the equivalent of Number(value) in JS.

◆ ToObject()

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

Perform the equivalent of Object(value) in JS.

◆ ToString()

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

Perform the equivalent of String(value) in JS.

◆ ToUint32()

V8_WARN_UNUSED_RESULT MaybeLocal<Uint32> v8::Value::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> v8::Value::TypeOf ( Isolate )

◆ Uint32Value()

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

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


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