The following table lists the words that the Dart language treats specially.

Avoid using these words as identifiers. However, if necessary, the keywords marked with superscripts can be identifiers:

  • Words with the superscript 1 are contextual keywords, which have meaning only in specific places. They're valid identifiers everywhere.

  • Words with the superscript 2 are built-in identifiers. These keywords are valid identifiers in most places, but they can't be used as class or type names, or as import prefixes.

  • Words with the superscript 3 are limited reserved words related to asynchrony support. You can't use await or yield as an identifier in any function body marked with async, async*, or sync*.

All other words in the table are reserved words, which can't be identifiers.