The dart:js library
The core set of Dart libraries include dart:js
to facilitate interoperation between the Dart and JavaScript code. The Dart code can create new instances, invoke methods, and read and write properties of the code written in JavaScript. While communicating, the dart:js
library translates the JavaScript objects to Dart objects and vice versa, or uses proxy classes. Let's take a look at the class hierarchy of the dart:js
library:
JsObject
Similar to an Object
class in JavaScript, JsObject
is a main class in the dart:js
library. It represents a proxy of a JavaScript object and provides the following advantages:
Access to all the properties of the underlying JavaScript object by indexing the
[]
and[]=
operatorsAccess to invoke any methods of the underlying JavaScript object through
callMethod
Access to the global JavaScript object (usually
window
) in the web browser through thecontext
propertyUsage of the
instanceOf
method to check if the underlying JavaScript object has the...