Guards are classes implementing CanActivate with canActivate method.
Step 2: Check options for this pattern
Only export class RolesGuard implements CanActivate { canActivate(context: ExecutionContext) { /* logic */ } } defines a class implementing CanActivate with canActivate method.
Final Answer:
Class implementing CanActivate with canActivate method -> Option D
Quick Check:
Custom guard syntax = class with canActivate [OK]
Quick Trick:Guards are classes implementing CanActivate interface [OK]
Common Mistakes:
Using functions instead of classes for guards
Defining interfaces instead of classes
Missing canActivate method
Master "Authentication" in NestJS
9 interactive learning modes - each teaches the same concept differently