description

# JSIteratorProtocol<T extends JSAny?> extension type

The synchronous JS iterator protocol.

This is the minimal interface that JS iterators are allowed to implement in order to work with core library APIs and language features like `for`/`of`.

Iterators are strongly encouraged to also extend the JS `Iterator` class, which adds various utility methods. If they do, they're referred to as "proper iterators" (see JSIterator). All iterators provided by the core library are proper iterators.

on
  - JSAny
Implemented types
  - JSAny
Implementers
  - JSIterator
Available extensions
  - JSAnyOperatorExtension
  - JSAnyUtilityExtension
  - NullableUndefineableJSAnyExtension

Annotations
  - @Since.new('3.12')

## 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
returnValue → JSIteratorResult<T> Function([T? value])?
  See `return()`.
  no setter
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited
throwError → JSIteratorResult<T> Function([JSAny? error])?
  See `throw()`.
  no setter

## 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.
dartify() → Object?

  Available on JSAny?, provided by the JSAnyUtilityExtension extension

  Converts a JavaScript JSON-like value to the Dart equivalent if possible.
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.
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.
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.
next([JSAny? yieldValue]) → JSIteratorResult<T>
  See `next()`.
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.
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