Public Member Functions | Static Public Member Functions | List of all members
v8::Value Class Reference

#include <v8.h>

Inheritance diagram for v8::Value:
[legend]
Collaboration diagram for v8::Value:
[legend]

Public Member Functions

bool IsUndefined () const
 
bool IsNull () const
 
bool IsNullOrUndefined () const
 
bool IsTrue () const
 
bool IsFalse () const
 
bool IsName () const
 
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
 
MaybeLocal< BigIntToBigInt (Local< Context > context) const
 
MaybeLocal< NumberToNumber (Local< Context > context) const
 
MaybeLocal< StringToString (Local< Context > context) const
 
MaybeLocal< StringToDetailString (Local< Context > context) const
 
MaybeLocal< ObjectToObject (Local< Context > context) const
 
MaybeLocal< IntegerToInteger (Local< Context > context) const
 
MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
Local< BooleanToBoolean (Isolate *isolate) const
 
MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
bool BooleanValue (Isolate *isolate) const
 
Maybe< double > NumberValue (Local< Context > context) const
 
Maybe< int64_t > IntegerValue (Local< Context > context) const
 
Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
Maybe< int32_t > Int32Value (Local< Context > context) const
 
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<>
ValueCast (Data *value)
 
- Public Member Functions inherited from v8::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 ValueCast (T *value)
 

Detailed Description

The superclass of all JavaScript values and objects.

Examples
process.cc.

Member Function Documentation

◆ BooleanValue()

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

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

◆ Cast() [1/2]

template<>
Value* v8::Value::Cast ( Data value)
inline

◆ Cast() [2/2]

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

◆ Equals()

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

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

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

◆ IntegerValue()

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
inline

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

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

◆ IsNullOrUndefined()

bool v8::Value::IsNullOrUndefined ( ) const
inline

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.

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

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.

Examples
shell.cc.

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

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

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

Examples
shell.cc.

◆ IsWasmMemoryObject()

bool v8::Value::IsWasmMemoryObject ( ) const

Returns true if this value is a WasmMemoryObject.

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

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

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

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

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

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

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

MaybeLocal<Number> v8::Value::ToNumber ( Local< Context context) const

Perform the equivalent of Number(value) in JS.

◆ ToObject()

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

Perform the equivalent of Object(value) in JS.

◆ ToString()

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

Perform the equivalent of String(value) in JS.

◆ ToUint32()

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

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: