SymbolFlags enum contains bit flags that classify symbols in the TypeScript compiler. Every Symbol object has a flags property indicating what kind of declaration(s) it represents.
Variable Flags
Composite Variable Flags
Callable Flags
Composite Accessor Flags
Type Declaration Flags
Composite Enum Flags
Module Flags
Composite Module Flags
Special Flags
Composite Meaning Flags
These flags group symbols by their semantic meaning:Value Flags
Type Flags
Namespace Flags
Exclusion Flags
Exclusion flags determine what cannot be merged with a symbol:Variable Exclusions
var declarations can be redeclared with other var declarations, but block-scoped variables cannot be redeclared.
Declaration Exclusions
Enum Exclusions
Module and Accessor Exclusions
Type Exclusions
Module Member Flags
Scope Flags
Export Flags
Class Member Flags
Usage Examples
Checking Symbol Flags
Distinguishing Variable Types
Checking for Functions and Methods
Working with Enums
Checking Multiple Meanings
Finding Declarations
Type Guards
Advanced Patterns
Declaration Merging
Finding Symbol Kind
See Also
- Node Types - AST node types
- TypeFlags - Type system flags
- Type Checker API - Working with symbols and types