Package org.mozilla.javascript

## Interface Constructable

- All Known Subinterfaces:
    `Function`
  All Known Implementing Classes:
    `ArrowFunction`, `BaseFunction`, `BoundFunction`, `Delegator`, `FunctionObject`, `IdFunctionObject`, `IdFunctionObjectES6`, `LambdaConstructor`, `LambdaFunction`, `NativeContinuation`, `NativeFunction`, `NativeJavaClass`, `NativeJavaConstructor`, `NativeJavaMethod`, `NativeJavaTopPackage`, `Require`, `Synchronizer`

      public interface Constructable

  An interface that can be used to implement a constructor function as a lambda.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Scriptable` | `construct​(Context cx, Scriptable scope, java.lang.Object[] args)` | Call the function as a constructor.

- - ### Method Detail

    - #### construct

          Scriptable construct​(Context cx,
                               Scriptable scope,
                               java.lang.Object[] args)

      Call the function as a constructor.

      This method is invoked by the runtime in order to satisfy a use of the JavaScript `new` operator. This method is expected to create a new object and return it.

      Parameters:
        `cx` - the current Context for this thread
        `scope` - an enclosing scope of the caller except when the function is called from a closure.
        `args` - the array of arguments
      Returns:
        the allocated object