# Reserved words

A reserved keyword may not be used as identifiers for your own variables, objects, event definitions, methods, etc.

In addition, do not use the underscore ("\_") as the first character of an identifier.

Note that `data types</getting_started/using_the_xojo_language/data_types>` are not reserved words.

| Word                                                                  |
|-----------------------------------------------------------------------|
| `#Else</api/compiler_directives/if...endif>`                          |
| `#ElseIf</api/compiler_directives/if...endif>`                        |
| `#EndIf</api/compiler_directives/if...endif>`                         |
| `#If</api/compiler_directives/if...endif>`                            |
| `#Pragma</api/language/pragma_directives>`                            |
| `AddHandler</api/language/addhandler>`                                |
| `AddressOf</api/language/addressof>`                                  |
| `Aggregates</getting_started/object-oriented_programming/interfaces>` |
| `And</api/language/operators/bitwise_logical/and>`                    |
| `Array</api/language/array>`                                          |
| `As</api/language/as>`                                                |
| `Assigns</api/language/assigns>`                                      |
| `Break</api/language/break>`                                          |
| `ByRef</api/language/byref>`                                          |
| `ByVal</api/language/byval>`                                          |
| `Call</api/language/call>`                                            |
| `Case</api/language/select_case>`                                     |
| `Catch</api/language/catch>`                                          |
| `Class</api/language/class>`                                          |
| `Const</api/language/const>`                                          |
| `Continue</api/language/loops/continue>`                              |
| `CType</api/language/ctype>`                                          |
| `Declare</api/language/declare>`                                      |
| `Delegate</api/data_types/additional_types/delegate>`                 |
| `Dim</api/language/dim>`                                              |
| `Do</api/language/loops/do...loop>`                                   |
| `DownTo</api/language/loops/downto>`                                  |
| `Each</api/language/loops/for_each...next>`                           |
| `Else</api/language/else>`                                            |
| `ElseIf</api/language/if...then...else>`                              |
| `End</api/language/end>`                                              |
| `Enum</api/data_types/enumeration>`                                   |
| `Event</api/language/event>`                                          |
| `Exception</api/exceptions/exception>`                                |
| `Exit</api/language/loops/exit>`                                      |
| `Extends</api/language/extends>`                                      |
| `False</api/language/false>`                                          |
| `Finally</api/language/finally>`                                      |
| `For</api/language/loops/for...next>`                                 |
| `Function</api/language/function>`                                    |
| `Global</api/language/global>`                                        |
| `GoTo</api/language/goto>`                                            |
| `If</api/language/if...then...else>`                                  |
| `Implements</api/language/implements>`                                |
| `In</api/language/loops/for_each...next>`                             |
| `Inherits</api/language/inherits>`                                    |
| `Interface</api/language/interface>`                                  |
| `Is</api/language/operators/comparison/is>`                           |
| `IsA</api/language/operators/comparison/isa>`                         |
| Lib — Used in `Declare</api/language/declare>` statements             |
| `Loop</api/language/loops/do...loop>`                                 |
| `Me</api/language/me>`                                                |
| `Mod</api/language/operators/mathematical/mod>`                       |
| `Module</api/language/module>`                                        |
| `New</api/language/new>`                                              |
| `Next</api/language/next>`                                            |
| `Nil</api/language/nil>`                                              |
| `Not</api/language/operators/bitwise_logical/not>`                    |
| `Object</api/data_types/additional_types/object>`                     |
| `Optional</api/language/optional>`                                    |
| `Or</api/language/operators/bitwise_logical/or>`                      |
| `ParamArray</api/language/paramarray>`                                |
| `Private</api/language/private>`                                      |
| `Property</api/language/property>`                                    |
| `Protected</api/language/protected>`                                  |
| `Public</api/language/public>`                                        |
| `Raise</api/language/raise>`                                          |
| `RaiseEvent</api/language/raiseevent>`                                |
| `Redim</api/language/redim>`                                          |
| `Rem</api/deprecated/rem>`                                            |
| `RemoveHandler</api/language/removehandler>`                          |
| `Return</api/language/return>`                                        |
| `Select</api/language/select_case>`                                   |
| `Self</api/language/self_keyword>`                                    |
| `Shared</api/language/shared>`                                        |
| Soft — Used in `Declare</api/language/declare>` statements            |
| `Static</api/language/static>`                                        |
| `Step</api/language/loops/for...next>`                                |
| `Structure</api/language/structure>`                                  |
| `Sub</api/language/sub>`                                              |
| `Super</api/language/super>`                                          |
| `Then</api/language/if>`                                              |
| `To</api/language/to>`                                                |
| `True</api/language/true>`                                            |
| `Try</api/language/try>`                                              |
| `Until</api/language/loops/do...loop>`                                |
| `Using</api/language/using>`                                          |
| `Var</api/language/var>`                                              |
| `WeakAddressOf</api/language/weakaddressof>`                          |
| `Wend</api/language/loops/while...wend>`                              |
| `While</api/language/loops/while...wend>`                             |
| `Xor</api/language/operators/bitwise_logical/xor>`                    |

## For Future Use

These words are reserved for potential future use in the Xojo language.

| Word       |
|------------|
| Async      |
| Attributes |
| Await      |
| Handles    |
| Namespace  |
| Of         |
| With       |
