description

# JSObject extension type

A JavaScript `Object`.

JSObject is the supertype of all JavaScript objects, but not other JS types, like primitives. See https://dart.dev/interop/js-interop for more details on how to use JavaScript interop.

When declaring interop extension types, JSObject is usually the type you will use as the representation type.

on
  - JSObjectType
Implemented types
  - JSAny
  - Object
Implementers
  - JSArray
  - JSArrayBuffer
  - JSBoxedDartObject
  - JSDataView
  - JSFunction
  - JSIteratorResult
  - JSPromise
  - JSTypedArray
Available extensions
  - JSAnyOperatorExtension
  - JSAnyUtilityExtension
  - JSObjectUnsafeUtilExtension
  - NullableUndefineableJSAnyExtension

Annotations
  - @JS('Object')

## Constructors

JSObject()
  Creates a new empty JavaScript object.
JSObject.fromInteropObject(Object interopObject)
  Creates a JSObject from an object provided by an earlier interop library.

## Properties

hashCode → int
  The hash code for this object.
  no setterinherited
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 setterinherited

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