description

# JSFunction<T extends Function> extension type

A JavaScript `Function` value.

The type parameter `T` is the Dart type signature that corresponds to the signature of the JavaScript function. It is purely descriptive and provides static type checking in Dart, but does not enforce runtime checks on the JavaScript side.

on
  - JSFunctionType
Implemented types
  - JSObject
  - Object
Implementers
  - JSExportedDartFunction
Available extensions
  - JSAnyOperatorExtension
  - JSAnyUtilityExtension
  - JSFunctionUnsafeUtilExtension
  - JSFunctionUtilExtension
  - JSObjectUnsafeUtilExtension
  - NullableUndefineableJSAnyExtension

Annotations
  - @JS('Function')

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
isDefinedAndNotNull → bool

  Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension

  no setter
isNull → bool

  Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension

  Whether this value corresponds to JavaScript `null`.
  no setter
isTruthy → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of `!!`this`` in JavaScript.
  no setter
isUndefined → bool

  Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension

  Whether this value corresponds to JavaScript `undefined`.
  no setter
isUndefinedOrNull → bool

  Available on JSAny?, provided by the NullableUndefineableJSAnyExtension extension

  no setter
not → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of `!`this`` in JavaScript.
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

add(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` + `any`` in JavaScript.
and(JSAny? any) → JSAny?

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` && `any`` in JavaScript.
callAsConstructor<R>([JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → R

  Available on JSFunction<Function>, provided by the JSFunctionUnsafeUtilExtension extension

  Calls this JSFunction as a constructor with up to four arguments.
callAsConstructorVarArgs<R extends JSObject>([List<JSAny?>? arguments]) → R

  Available on JSFunction<Function>, provided by the JSFunctionUnsafeUtilExtension extension

  Calls this JSFunction as a constructor with a variable number of arguments.
callAsFunction([JSAny? thisArg, JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → JSAny?

  Available on JSFunction<Function>, provided by the JSFunctionUtilExtension extension

  Call this JSFunction using the JavaScript `.call` syntax and returns the result.
callMethod<R extends JSAny?>(JSAny method, [JSAny? arg1, JSAny? arg2, JSAny? arg3, JSAny? arg4]) → R

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Calls `method` on this JSObject with up to four arguments.
callMethodVarArgs<R extends JSAny?>(JSAny method, [List<JSAny?>? arguments]) → R

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Calls `method` on this JSObject with a variable number of `arguments`.
dartify() → Object?

  Available on JSAny?, provided by the JSAnyUtilityExtension extension

  Converts a JavaScript JSON-like value to the Dart equivalent if possible.
delete(JSAny property) → JSBoolean

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Deletes the property with key `property` from this JSObject.
divide(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` / `any`` in JavaScript.
equals(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` == `any`` in JavaScript.
exponentiate(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` ** `any`` in JavaScript.
getProperty<R extends JSAny?>(JSAny property) → R

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  The value of the property key `property` of this JSObject.
greaterThan(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` > `any`` in JavaScript.
greaterThanOrEqualTo(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` >= `any`` in JavaScript.
has(String property) → bool

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Shorthand helper for hasProperty to check whether this JSObject contains the property key `property`, but takes and returns a Dart value.
hasProperty(JSAny property) → JSBoolean

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Whether or not this JSObject contains the property key `property`.
instanceof(JSFunction<Function> constructor) → bool

  Available on JSAny?, provided by the JSAnyUtilityExtension extension

  Whether this `JSAny?` is an `instanceof` `constructor`.
instanceOfString(String constructorName) → bool

  Available on JSAny?, provided by the JSAnyUtilityExtension extension

  Whether this `JSAny?` is an `instanceof` the constructor that is defined by `constructorName`, which is looked up in the globalContext.
lessThan(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` < `any`` in JavaScript.
lessThanOrEqualTo(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` <= `any`` in JavaScript.
modulo(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` % `any`` in JavaScript.
multiply(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` * `any`` in JavaScript.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
notEquals(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` != `any`` in JavaScript.
or(JSAny? any) → JSAny?

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` || `any`` in JavaScript.
setProperty(JSAny property, JSAny? value) → void

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Write the `value` of property key `property` of this JSObject.
strictEquals(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` === `any`` in JavaScript.
strictNotEquals(JSAny? any) → JSBoolean

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` !== `any`` in JavaScript.
subtract(JSAny? any) → JSAny

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` - `any`` in JavaScript.
toString() → String
  A string representation of this object.
  inherited
typeofEquals(String typeString) → bool

  Available on JSAny?, provided by the JSAnyUtilityExtension extension

  Whether the result of `typeof` on this `JSAny?` is `typeString`.
unsignedRightShift(JSAny? any) → JSNumber

  Available on JSAny?, provided by the JSAnyOperatorExtension extension

  The result of ``this` >>> `any`` in JavaScript.

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited
operator [](String property) → JSAny?

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Shorthand helper for getProperty to get the value of the property key `property` of this JSObject, but takes a Dart value.
operator []=(String property, JSAny? value) → void

  Available on JSObject, provided by the JSObjectUnsafeUtilExtension extension

  Shorthand helper for setProperty to write the `value` of the property key `property` of this JSObject, but takes a Dart value.