JavaScriptKit Documentation Beta

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.

%3 JSObject JSObject Equatable Equatable JSObject->Equatable CustomStringConvertible CustomStringConvertible JSObject->CustomStringConvertible JSFunction JSFunction JSFunction->JSObject

Subclasses

JSFunction

JSFunction represents a function in JavaScript and supports new object instantiation. This type can be callable as a function using callAsFunction.

Conforms To

CustomStringConvertible
Equatable

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

is​Instance​Of(_:​)

public func isInstanceOf(_ constructor: JSFunction) -> Bool

Return true if this value is an instance of the passed constructor function.

Parameters

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

lhs JSObject

A object to compare.

rhs JSObject

Another object to compare.

construct(from:​)

public class func construct(from value: JSValue) -> Self?

js​Value()

public func jsValue() -> JSValue