Provides an object-oriented, single inheritance language that uses a C-style
syntax that is AOT-compiled into native.

Transcompiles optionally into JavaScript.

Supports interfaces and abstract classes.

A few examples of the differences between JavaScript and Dart are described
below.

Entry point

JavaScript doesn’t have a pre-defined entry
function—you define the entry point.

// JavaScript

function

startHere

()

// Can be used as entry point

In Dart, every app must have a top-level main() function that serves as the
entry point to the app.

Try it out in DartPad.

Printing to the console

To print to the console in Dart, use print().

// JavaScript

console

log

Hello world!

);