JavaScriptKit Documentation

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.

%87 JSObject JSObject CustomStringConvertible CustomStringConvertible JSObject->CustomStringConvertible Equatable Equatable JSObject->Equatable Hashable Hashable JSObject->Hashable JSClosure JSClosure JSClosure->JSObject JSFunction JSFunction JSFunction->JSObject JSOneshotClosure JSOneshotClosure JSOneshotClosure->JSObject

Subclasses

JSOneshotClosure

JSOneshotClosure is a JavaScript function that can be called only once.

JSClosure

JSClosure represents a JavaScript function the body of which is written in Swift. This type can be passed as a callback handler to JavaScript functions.

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
Hashable

Properties

`throwing`

public 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

public static 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

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

construct(from:​)

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

js​Value()

public func jsValue() -> JSValue  

hash(into:​)

public func hash(into hasher: inout Hasher)  

Hashes the essential components of this value by feeding them into the given hasher.

Parameters

hasher inout Hasher

The hasher to use when combining the components of this instance.

Operators

==

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.