Class
JSObject
@dynamicMemberLookup public class JSObject: Equatable
JSObject represents an object in JavaScript and supports dynamic member lookup.
Any member access like object.foo will dynamically request the JavaScript and Swift
runtime bridge library for a member with the specified name in this object.
And this object supports to call a member method of the object.
e.g.
let document = JSObject.global.document.object!
let divElement = document.createElement!("div")
The lifetime of this object is managed by the JavaScript and Swift runtime bridge library with reference counting system.
Relationships
Subclasses
JSFunctionJSFunctionrepresents a function in JavaScript and supports new object instantiation. This type can be callable as a function usingcallAsFunction.
Conforms To
CustomStringConvertibleEquatable
Properties
`throwing`
var `throwing`: JSThrowingObject
A modifier to call methods as throwing methods capturing this
const animal = {
validateAge: function() {
if (this.age < 0) {
throw new Error("Invalid age");
}
}
}
let animal = JSObject.global.animal.object!
try animal.throwing.validateAge!()
global
let global
A JSObject of the global scope object.
This allows access to the global properties and global names by accessing the JSObject returned.
description
var description: String
Methods
isInstanceOf(_:)
public func isInstanceOf(_ constructor: JSFunction) -> Bool
Return true if this value is an instance of the passed constructor function.
Parameters
| Name | Type | Description |
|---|---|---|
| constructor | JSFunction |
The constructor function to check. |
Returns
The result of instanceof in the JavaScript environment.
==(lhs:rhs:)
public static func ==(lhs: JSObject, rhs: JSObject) -> Bool
Returns a Boolean value indicating whether two values point to same objects.
Parameters
| Name | Type | Description |
|---|---|---|
| lhs | JSObject |
A object to compare. |
| rhs | JSObject |
Another object to compare. |
construct(from:)
public class func construct(from value: JSValue) -> Self?
jsValue()
public func jsValue() -> JSValue