It can compile to JS out of convenience (for obviously pragmatic reasons...), but it does not have to (and, really, it is best to take full advantage of the Dart VM, anyway, not JS engines, especially if you want to, say, write Dart applications...).