# Keywords

> Keywords in Dart.







The following table lists the words
that the Dart language reserves for its own use.
These words can't be used as identifiers unless otherwise noted.
Even when allowed, using keywords as identifiers can confuse other
developers reading your code and should be avoided.
To learn more about identifier usage, click on the term.

<table class="table table-striped">

  <tr class="row1">
    <td class="col1">
      <a href="/language/class-modifiers#abstract">abstract</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col2">
      <a href="/language/operators#type-test-operators">as</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/error-handling#assert">assert</a>
    </td>
    <td class="col4">
      <a href="/language/async">async</a>&nbsp;<sup>3</sup>
    </td>
  </tr>
  <tr class="row2">
    <td class="col1">
      <a href="/language/async">await</a>&nbsp;<sup>1</sup>
    </td>
    <td class="col2">
      <a href="/language/class-modifiers#base">base</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col3">
      <a href="/language/loops#break-and-continue">break</a>
    </td>
    <td class="col4">
      <a href="/language/branches#switch">case</a>
    </td>
  </tr>
  <tr class="row3">
    <td class="col1">
      <a href="/language/error-handling#catch">catch</a>
    </td>
    <td class="col2">
      <a href="/language/classes#instance-variables">class</a>
    </td>
    <td class="col3">
      <a href="/language/variables#final-and-const">const</a>
    </td>
    <td class="col4">
      <a href="/language/loops#break-and-continue">continue</a>
    </td>
  </tr>
  <tr class="row4">
    <td class="col1">
      <a href="/language/type-system#covariant-keyword">covariant</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col2">
      <a href="/language/branches#switch">default</a>
    </td>
    <td class="col3">
      <a href="/language/libraries#lazily-loading-a-library">deferred</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/loops#while-and-do-while">do</a>
    </td>
  </tr>
  <tr class="row5">
    <td class="col1">
      <a href="/language#important-concepts">dynamic</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col2">
      <a href="/language/branches#if">else</a>
    </td>
    <td class="col3">
      <a href="/language/enums">enum</a>
    </td>
    <td class="col4">
      <a href="/tools/pub/create-packages">export</a>&nbsp;<sup>2</sup>
    </td>
  </tr>
  <tr class="row6">
    <td class="col1">
      <a href="/language/extend">extends</a>
    </td>
    <td class="col2">
      <a href="/language/extension-methods">extension</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/functions#external">external</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/constructors#factory-constructors">factory</a>&nbsp;<sup>2</sup>
    </td>
  </tr>
  <tr class="row7">
    <td class="col1">
      <a href="/language/built-in-types#booleans">false</a>
    </td>
    <td class="col2">
      <a href="/language/variables#final-and-const">final&nbsp;(var)</a>
    </td>
    <td class="col3">
      <a href="/language/class-modifiers#final">final&nbsp;(class)</a>
    </td>
    <td class="col4">
      <a href="/language/error-handling#finally">finally</a>
    </td>
  </tr>
  <tr class="row8">
    <td class="col1">
      <a href="/language/loops#for-loops">for</a>
    </td>
    <td class="col2">
      <a href="/language/functions">Function</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/methods#getters-and-setters">get</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/libraries#importing-only-part-of-a-library">hide</a>&nbsp;<sup>3</sup>
    </td>
  </tr>
  <tr class="row9">
    <td class="col1">
      <a href="/language/branches#if">if</a>
    </td>
    <td class="col2">
      <a href="/language/classes#implicit-interfaces">implements</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/libraries#using-libraries">import</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/loops#for-loops">in</a>
    </td>
  </tr>
  <tr class="row10">
    <td class="col1">
      <a href="/language/class-modifiers#interface">interface</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col2">
      <a href="/language/operators#type-test-operators">is</a>
    </td>
    <td class="col3">
      <a href="/language/variables#late-variables">late</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/libraries">library</a>&nbsp;<sup>2</sup>
    </td>
  </tr>
  <tr class="row11">
    <td class="col1">
      <a href="/language/mixins">mixin</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col2">
      <a href="/language/classes#using-constructors">new</a>
    </td>
    <td class="col3">
      <a href="/language/variables#default-value">null</a>
    </td>
    <td class="col4">
      <a href="/tools/pub/create-packages#organizing-a-package">of</a>&nbsp;<sup>3</sup>
    </td>
  </tr>
  <tr class="row12">
    <td class="col1">
      <a href="/language/error-handling#catch">on</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col2">
      <a href="/language/methods#operators">operator</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/tools/pub/create-packages#organizing-a-package">part</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/functions#named-parameters">required</a>&nbsp;<sup>2</sup>
    </td>
  </tr>
  <tr class="row13">
    <td class="col1">
      <a href="/language/error-handling#catch">rethrow</a>
    </td>
    <td class="col2">
      <a href="/language/functions#return-values">return</a>
    </td>
    <td class="col3">
      <a href="/language/class-modifiers#sealed">sealed</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col4">
      <a href="/language/methods#getters-and-setters">set</a>&nbsp;<sup>2</sup>
    </td>
  </tr>
  <tr class="row14">
    <td class="col1">
      <a href="/language/libraries#importing-only-part-of-a-library">show</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col2">
      <a href="/language/classes#class-variables-and-methods">static</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/extend">super</a>
    </td>
    <td class="col4">
      <a href="/language/branches#switch">switch</a>
    </td>
  </tr>
  <tr class="row15">
    <td class="col1">
      <a href="/language/functions#generators">sync</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col2">
      <a href="/language/constructors">this</a>
    </td>
    <td class="col3">
      <a href="/language/error-handling#throw">throw</a>
    </td>
    <td class="col4">
      <a href="/language/built-in-types#booleans">true</a>
    </td>
  </tr>
  <tr class="row16">
    <td class="col1">
      <a href="/language/error-handling#catch">try</a>
    </td>
    <td class="col2">
      <a href="/language/extension-types">type</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col3">
      <a href="/language/typedefs">typedef</a>&nbsp;<sup>2</sup>
    </td>
    <td class="col4">
      <a href="/language/variables">var</a>
    </td>
  </tr>
  <tr class="row17">
    <td class="col1">
      <a href="/language/built-in-types">void</a>
    </td>
    <td class="col2">
      <a href="/language/branches#when">when</a>&nbsp;<sup>3</sup>
    </td>
    <td class="col3">
      <a href="/language/mixins">with</a>
    </td>
    <td class="col4">
      <a href="/language/loops#while-and-do-while">while</a>
    </td>
  </tr>
  <tr class="row18">
    <td class="col1">
      <a href="/language/functions#generators">yield</a>&nbsp;<sup>1</sup>
    </td>
  </tr>
</table>

&nbsp;<sup>1</sup> This keyword can be used as an identifier
        depending on **context**.

&nbsp;<sup>2</sup> This keyword can't be used as the name of a type
        (a class, a mixin, an enum, an extension type, or a type alias),
        the name of an extension, or as an import prefix.
        It can be used as an identifier in all other circumstances.

&nbsp;<sup>3</sup> This keyword can be used as an identifier without restriction.

